texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: Add @end element for macro, verbatim and ignore @


From: Patrice Dumas
Subject: branch master updated: Add @end element for macro, verbatim and ignore @-commands
Date: Wed, 07 Sep 2022 18:06:41 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new a29d4353fb Add @end element for macro, verbatim and ignore @-commands
a29d4353fb is described below

commit a29d4353fbb7138ce704bc3b95fec036bf531072
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Thu Sep 8 00:06:30 2022 +0200

    Add @end element for macro, verbatim and ignore @-commands
    
    * tp/Texinfo/ParserNonXS.pm (_parse_texi),
    tp/Texinfo/XS/parsetexi/parser.c (is_end_current_command)
    (process_remaining_on_line), tp/Texinfo/XS/parsetexi/handle_commands.c
    (handle_block_command):
    collect spaces after @end for 'raw' commands, verbatim,
    ignore, or (r)macro and add an element for the @end command.
    * tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo),
    tp/Texinfo/XS/parsetexi/convert.c (convert_to_texinfo_internal):
    do not add an @end command for 'raw' block commands.
---
 ChangeLog                                          |  14 +
 tp/Texinfo/Convert/Texinfo.pm                      |   5 -
 tp/Texinfo/ParserNonXS.pm                          |  23 +-
 tp/Texinfo/XS/parsetexi/convert.c                  |   9 -
 tp/Texinfo/XS/parsetexi/handle_commands.c          |   6 +-
 tp/Texinfo/XS/parsetexi/parser.c                   |  32 +-
 tp/Texinfo/XS/parsetexi/parser.h                   |   2 +-
 .../command_conditionals_user_defined.pl           |  22 +
 .../conditionals/empty_ifset_in_ifset_set.pl       |  22 +
 tp/t/results/conditionals/end_ifset_in_format.pl   |  44 ++
 tp/t/results/conditionals/ignore_not_closed.pl     |   2 +-
 tp/t/results/conditionals/macro_in_ifset.pl        |  22 +
 tp/t/results/conditionals/macro_in_ifset_set.pl    |  44 ++
 tp/t/results/conditionals/nested_ifset_ifclear.pl  |  22 +
 tp/t/results/conditionals/nested_ignore.pl         |  66 ++
 .../conditionals/user_defined_txiinternalvalue.pl  |  22 +
 .../results/converters_tests/at_commands_in_raw.pl |  24 +-
 tp/t/results/coverage/symbol_after_block.pl        |  44 ++
 tp/t/results/coverage_braces/test_image.pl         |  22 +
 tp/t/results/formatting/texi_bib_example.pl        | 154 +++++
 tp/t/results/formatting/texi_glossary.pl           | 242 +++++++
 .../verbatim_in_multitable_in_example.pl           |  22 +
 tp/t/results/html_tests/xml_protected_in_verb.pl   |  22 +
 tp/t/results/include/cpp_lines.pl                  |  66 ++
 .../macro_and_commands_in_early_commands.pl        |  88 +++
 .../results/include/macro_definition_in_include.pl |  22 +
 tp/t/results/include/macro_in_early_commands.pl    | 132 ++++
 tp/t/results/info_tests/def_in_copying.pl          |  22 +
 tp/t/results/invalid_nestings/ignore_in_xref.pl    |  22 +
 tp/t/results/invalid_nestings/verbatim_in_ref.pl   |  22 +
 .../results/latex_tests/verbatim_in_smallformat.pl |  22 +
 tp/t/results/macro/arg_body_expansion_order.pl     |  88 +++
 tp/t/results/macro/arg_not_closed.pl               |  22 +
 tp/t/results/macro/backslash_in_arg.pl             |  22 +
 tp/t/results/macro/bad_argument.pl                 |  88 +++
 tp/t/results/macro/bad_formal_arg.pl               |  88 +++
 .../macro/bad_macro_name_with_underscore.pl        |  22 +
 tp/t/results/macro/complete_macro_for_end.pl       |  22 +
 tp/t/results/macro/complex_argument.pl             | 132 ++++
 tp/t/results/macro/double_macro_definition.pl      |  50 +-
 tp/t/results/macro/double_recursive_macro_call.pl  |  44 ++
 tp/t/results/macro/empty_end.pl                    |  22 +
 tp/t/results/macro/empty_macro_argument.pl         |  44 ++
 tp/t/results/macro/empty_macro_in_text_no_arg.pl   |  50 +-
 tp/t/results/macro/empty_macro_no_arg.pl           |  25 +-
 tp/t/results/macro/expand_two_same.pl              |  22 +
 tp/t/results/macro/expansion_order.pl              |  44 ++
 tp/t/results/macro/form_feeds.pl                   |  44 ++
 tp/t/results/macro/ifclear_in_macro.pl             |  22 +
 tp/t/results/macro/ifset_and_end_isef_in_macro.pl  |  44 ++
 tp/t/results/macro/ifset_in_macro.pl               |  22 +
 tp/t/results/macro/ifset_in_macro_set.pl           |  22 +
 tp/t/results/macro/ignored_macro_definition.pl     |  22 +
 tp/t/results/macro/implicit_quoting_one_arg.pl     |  22 +
 tp/t/results/macro/implicit_quoting_recursion.pl   |  22 +
 tp/t/results/macro/include_after_empty_line_arg.pl |  22 +
 tp/t/results/macro/leading_spaces_no_ignore.pl     |  22 +
 tp/t/results/macro/line_after_recursive_call.pl    |  22 +
 tp/t/results/macro/macro_expands_to_empty.pl       |  22 +
 tp/t/results/macro/macro_expansion.pl              | 154 +++++
 tp/t/results/macro/macro_for_end.pl                |  22 +
 .../macro/macro_for_ignored_line_command.pl        |  22 +
 tp/t/results/macro/macro_in_accent.pl              |  44 ++
 tp/t/results/macro/macro_in_brace_command.pl       |  44 ++
 tp/t/results/macro/macro_in_end_argument.pl        |  22 +
 tp/t/results/macro/macro_in_ifset.pl               |  22 +
 tp/t/results/macro/macro_in_ifset_end_in_arg.pl    |  22 +
 tp/t/results/macro/macro_in_index_commands.pl      | 154 +++++
 .../macro/macro_in_invalid_documentencoding.pl     |  22 +
 tp/t/results/macro/macro_in_macro_arg.pl           |  66 ++
 tp/t/results/macro/macro_in_macro_arg_simpler.pl   |  44 ++
 tp/t/results/macro/macro_in_menu.pl                | 132 ++++
 tp/t/results/macro/macro_in_misc_commands.pl       | 756 ++++++++++++++++++++-
 tp/t/results/macro/macro_name_with_digit.pl        |  44 ++
 tp/t/results/macro/macro_name_with_hyphen.pl       |  22 +
 tp/t/results/macro/macro_no_arg_bad_expansion.pl   |  22 +
 tp/t/results/macro/macro_no_arg_expansion.pl       |  22 +
 tp/t/results/macro/macro_no_argument.pl            |   2 +-
 tp/t/results/macro/macro_not_closed.pl             |   2 +-
 tp/t/results/macro/macro_one_arg_end_of_file.pl    |  22 +
 .../macro_with_error_at_end_line_after_macro.pl    |  22 +
 tp/t/results/macro/macro_zero.pl                   |  22 +
 tp/t/results/macro/nested_macro_call.pl            |  44 ++
 tp/t/results/macro/no_macrobody.pl                 |  25 +-
 tp/t/results/macro/paragraph_and_macro.pl          |  69 +-
 tp/t/results/macro/protect_comma_macro_line.pl     |  22 +
 tp/t/results/macro/protect_in_body.pl              |  22 +
 tp/t/results/macro/protect_in_body_line_arg.pl     |  22 +
 tp/t/results/macro/protect_in_body_one_arg.pl      |  22 +
 tp/t/results/macro/recursive_call_in_argument.pl   |  22 +
 tp/t/results/macro/recursive_call_in_macro.pl      |  22 +
 tp/t/results/macro/redefine_texinfo_macro.pl       |  22 +
 tp/t/results/macro/simple_imbricated_macro.pl      |  66 ++
 tp/t/results/macro/space_macro_after_end.pl        |  22 +
 .../macro/space_macro_after_end_verbatim.pl        |  44 ++
 tp/t/results/macro/text_before_after.pl            |  22 +
 tp/t/results/macro/too_much_args.pl                |  22 +
 tp/t/results/macro/two_macros_on_a_line.pl         |  44 ++
 tp/t/results/macro/zero_argument.pl                |  44 ++
 .../menu/block_commands_in_menu_description.pl     |  24 +-
 tp/t/results/menu/formats_in_menu.pl               |  24 +-
 .../codequoteundirected_codequotebacktick.pl       |  44 ++
 tp/t/results/misc_commands/kbdinputstyle.pl        |  22 +
 .../misc_commands/kbdinputstyle_in_table.pl        |  22 +
 tp/t/results/misc_commands/test_allowcodebreaks.pl |  44 ++
 .../plaintext_tests/star_at_command_formatting.pl  |  22 +
 tp/t/results/raw/misc_raw.pl                       |  22 +
 tp/t/results/raw/misc_raw_comments.pl              |  22 +
 tp/t/results/raw/nested_macros.pl                  |  69 +-
 tp/t/results/raw/raw_commands_and_end_of_lines.pl  | 132 ++++
 tp/t/results/raw/raw_in_para.pl                    |  22 +
 tp/t/results/raw/verbatim_and_verbatiminclude.pl   | 154 +++++
 tp/t/results/raw/verbatim_in_brace_command.pl      |  22 +
 tp/t/results/raw/verbatim_not_closed.pl            |   2 +-
 .../value_and_macro/comma_value_in_macro_arg.pl    |  22 +
 tp/t/results/value_and_macro/macro_in_value.pl     |  22 +
 .../results/value_and_macro/value_in_macro_body.pl |  22 +
 .../value_and_macro/value_in_macro_formal_arg.pl   |  22 +
 tp/t/results/xml_tests/commands_and_spaces.pl      |  24 +-
 tp/t/results/xml_tests/macro_and_args.pl           |  54 +-
 tp/t/results/xml_tests/spaces_info_lost.pl         |  26 +-
 tp/t/results/xtable/table_nested.pl                |  24 +-
 .../res_parser/formatting_xml/formatting.xml       |  18 +-
 123 files changed, 5458 insertions(+), 61 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 23fa2e3fa5..ae2f040e54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2022-09-07  Patrice Dumas  <pertusus@free.fr>
+
+       Add @end element for macro, verbatim and ignore @-commands
+
+       * tp/Texinfo/ParserNonXS.pm (_parse_texi),
+       tp/Texinfo/XS/parsetexi/parser.c (is_end_current_command)
+       (process_remaining_on_line), tp/Texinfo/XS/parsetexi/handle_commands.c
+       (handle_block_command):
+       collect spaces after @end for 'raw' commands, verbatim,
+       ignore, or (r)macro and add an element for the @end command.
+       * tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo),
+       tp/Texinfo/XS/parsetexi/convert.c (convert_to_texinfo_internal):
+       do not add an @end command for 'raw' block commands.
+
 2022-09-07  Patrice Dumas  <pertusus@free.fr>
 
        Remove end_command extra key
diff --git a/tp/Texinfo/Convert/Texinfo.pm b/tp/Texinfo/Convert/Texinfo.pm
index 461626e375..322316cf35 100644
--- a/tp/Texinfo/Convert/Texinfo.pm
+++ b/tp/Texinfo/Convert/Texinfo.pm
@@ -146,11 +146,6 @@ sub convert_to_texinfo($;$)
     $result .= '}' if ($element->{'type'}
                        and ($element->{'type'} eq 'bracketed'
                             or $element->{'type'} eq 'bracketed_def_content'));
-    if ($element->{'cmdname'} and 
defined($block_commands{$element->{'cmdname'}})
-        and $block_commands{$element->{'cmdname'}} eq 'raw') {
-      $result .= '@end '.$element->{'cmdname'};
-      $result .= "\n" if ($block_commands{$element->{'cmdname'}} ne 'raw');
-    }
   }
   return $result;
 }
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 219f5e0237..0f3147bf0b 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -3965,7 +3965,7 @@ sub _parse_texi($$$)
     }
 
     while (1) {
-      # in a raw or ignored conditional block command
+      # in a 'raw' (verbatim, ignore, (r)macro) or ignored conditional block 
command
       if ($current->{'cmdname'}
           and $block_commands{$current->{'cmdname'}}
           and ($block_commands{$current->{'cmdname'}} eq 'raw'
@@ -3997,8 +3997,10 @@ sub _parse_texi($$$)
         } elsif ($line =~ /^(\s*?)\@end\s+([a-zA-Z][\w-]*)/
                  and ($2 eq $current->{'cmdname'})) {
           my $end_command = $2;
-          $line =~ s/^(\s*?)(\@end\s+$current->{'cmdname'})//;
-          if ($1 eq '') {
+          $line =~ s/^(\s*?)(\@end(\s+)$current->{'cmdname'})//;
+          my $spaces_before_end = $1;
+          my $space_after_end = $3;
+          if ($spaces_before_end eq '') {
             # FIXME exclude other formats, like @macro, @ifset, @ignore?
             if ($current->{'cmdname'} ne 'verbatim'
                 and @{$current->{'contents'}}
@@ -4006,12 +4008,13 @@ sub _parse_texi($$$)
                 and $current->{'contents'}->[-1]->{'type'} eq 'raw') {
               if ($current->{'contents'}->[-1]->{'text'} =~ s/(\n)//) {
                 push @{$current->{'contents'}}, {'type' => 'last_raw_newline',
-                                          'text' => $1, 'parent' => $current};
+                             'text' => $1, 'parent' => $current};
               }
             }
           } else {
             push @{$current->{'contents'}},
-              { 'text' => $1, 'type' => 'raw', 'parent' => $current };
+              { 'text' => $spaces_before_end,
+                'type' => 'raw', 'parent' => $current };
             $self->_line_warn(sprintf(
                   __("\@end %s should only appear at the beginning of a line"),
                                      $end_command), $source_info);
@@ -4075,6 +4078,16 @@ sub _parse_texi($$$)
             last;
           } else {
             print STDERR "CLOSED raw $end_command\n" if ($self->{'DEBUG'});
+            my $end_element = {'cmdname' => 'end', 'args' => [],
+                'parent' => $current->{'contents'}->[-1],
+                'extra' => {'spaces_before_argument' => $space_after_end}};
+            push @{$current->{'contents'}->[-1]->{'contents'}}, $end_element;
+            my $line_arg = {'type' => 'line_arg', 'contents' => [],
+                            'parent' => $end_element};
+            push @{$end_element->{'args'}}, $line_arg;
+            my $end_text = {'text' => $end_command, 'parent' => $line_arg};
+            push @{$line_arg->{'contents'}}, $end_text;
+
             $line =~ s/^([^\S\r\n]*)//;
             # Start an element to have the spaces at the end of the line
             # ignored.
diff --git a/tp/Texinfo/XS/parsetexi/convert.c 
b/tp/Texinfo/XS/parsetexi/convert.c
index b932855c27..697f5a2bfb 100644
--- a/tp/Texinfo/XS/parsetexi/convert.c
+++ b/tp/Texinfo/XS/parsetexi/convert.c
@@ -164,15 +164,6 @@ convert_to_texinfo_internal (ELEMENT *e, TEXT *result)
         }
       if (e->type == ET_bracketed)
         ADD("}");
-
-      // TODO: raw block command
-      if (command_flags (e) & CF_block)
-        {
-          ADD("@end ");
-          ADD(command_name(e->cmd));
-          if (command_data(e->cmd).data != BLOCK_raw)
-            ADD("\n");
-        }
     }
 
   return;
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c 
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index e075b3ae8a..fedfbc7360 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -914,12 +914,13 @@ handle_block_command (ELEMENT *current, char **line_inout,
                   ELEMENT *e;
                   enum command_id dummy;
                   char *line_dummy;
+                  char *spaces_after_end;
 
                   e = new_element (ET_elided_block);
                   add_to_element_contents (current, e);
                   line_dummy = line;
-                  while (!is_end_current_command (current,
-                                                  &line_dummy, &dummy))
+                  while (!is_end_current_command (current, &line_dummy,
+                                                  &spaces_after_end, &dummy))
                     {
                       line = new_line ();
                       if (!line)
@@ -929,6 +930,7 @@ handle_block_command (ELEMENT *current, char **line_inout,
                         }
                       line_dummy = line;
                     }
+                  free (spaces_after_end);
                   e = new_element (ET_empty_line_after_command);
                   text_append_n (&e->text, "\n", 1);
                   add_to_element_contents (current, e);
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index edf738b34b..8f5935f5ce 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -848,12 +848,15 @@ command_with_command_as_argument (ELEMENT *current)
 }
 
 /* Check if line is "@end ..." for current command.  If so, advance LINE. */
+/* the caller should free *spaces if the function returns 1 */
 int
-is_end_current_command (ELEMENT *current, char **line,
+is_end_current_command (ELEMENT *current, char **line, char **spaces,
                         enum command_id *end_cmd)
 {
   char *linep;
   char *cmdname;
+  char *begin_spaces;
+  char *end_spaces;
 
   linep = *line;
 
@@ -865,10 +868,14 @@ is_end_current_command (ELEMENT *current, char **line,
   if (!strchr (whitespace_chars, *linep))
     return 0;
 
+  begin_spaces = linep;
+
   linep += strspn (linep, whitespace_chars);
   if (!*linep)
     return 0;
 
+  end_spaces = linep;
+
   cmdname = read_command_name (&linep);
   if (!cmdname)
     return 0;
@@ -879,6 +886,7 @@ is_end_current_command (ELEMENT *current, char **line,
     return 0;
 
   *line = linep;
+  *spaces = strndup (begin_spaces, end_spaces - begin_spaces);
   return 1;
 }
 
@@ -1078,6 +1086,7 @@ process_remaining_on_line (ELEMENT **current_inout, char 
**line_inout)
       && (command_data(current->cmd).data == BLOCK_raw
           || command_data(current->cmd).data == BLOCK_conditional))
     {
+      char *spaces_after_end;
       /* Check if we are using a macro within a macro. */
       if (current->cmd == CM_macro || current->cmd == CM_rmacro)
         {
@@ -1134,7 +1143,7 @@ process_remaining_on_line (ELEMENT **current_inout, char 
**line_inout)
 
       /* Else check if line is "@end ..." for current command. */
       p = line;
-      if (is_end_current_command (current, &line, &end_cmd))
+      if (is_end_current_command (current, &line, &spaces_after_end, &end_cmd))
         {
           ELEMENT *last_child;
           char *tmp = 0;
@@ -1254,16 +1263,33 @@ superfluous_arg:
             }
           else
             {
+              ELEMENT *e_cmd;
+              ELEMENT *e_cmd_text;
               ELEMENT *e;
+              ELEMENT *last = last_contents_child (current);
+              ELEMENT *line_arg;
+              char *end_command_name = command_name(end_cmd);
               int n;
 
-              debug ("CLOSED raw %s", command_name(end_cmd));
+              debug ("CLOSED raw %s", end_command_name);
+              e_cmd = new_element (ET_NONE);
+              e_cmd->cmd = CM_end;
+              add_extra_string_dup (e_cmd, "spaces_before_argument",
+                                    spaces_after_end);
+              add_to_element_contents (last, e_cmd);
+              line_arg = new_element (ET_line_arg);
+              add_to_element_args (e_cmd, line_arg);
+              e_cmd_text = new_element (ET_NONE);
+              text_append (&e_cmd_text->text, end_command_name);
+              add_to_element_contents (line_arg, e_cmd_text);
+
               e = new_element (ET_empty_line_after_command);
               n = strspn (line, whitespace_chars_except_newline);
               text_append_n (&e->text, line, n);
               line += n;
               add_to_element_contents (current, e);
             }
+          free (spaces_after_end);
         }
       else /* save the line verbatim */
         {
diff --git a/tp/Texinfo/XS/parsetexi/parser.h b/tp/Texinfo/XS/parsetexi/parser.h
index be6b05506e..77a32b4d5f 100644
--- a/tp/Texinfo/XS/parsetexi/parser.h
+++ b/tp/Texinfo/XS/parsetexi/parser.h
@@ -164,7 +164,7 @@ void start_empty_line_after_command (ELEMENT *current, char 
**line_inout,
                                      ELEMENT *command);
 ELEMENT *begin_paragraph (ELEMENT *current);
 int format_expanded_p (char *format);
-int is_end_current_command (ELEMENT *current, char **line,
+int is_end_current_command (ELEMENT *current, char **line, char **spaces,
                             enum command_id *end_cmd);
 void set_documentlanguage (char *);
 void set_accept_internalvalue (void);
diff --git a/tp/t/results/conditionals/command_conditionals_user_defined.pl 
b/tp/t/results/conditionals/command_conditionals_user_defined.pl
index a223dcf8ba..9a1173ebe8 100644
--- a/tp/t/results/conditionals/command_conditionals_user_defined.pl
+++ b/tp/t/results/conditionals/command_conditionals_user_defined.pl
@@ -29,6 +29,25 @@ $result_trees{'command_conditionals_user_defined'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -268,6 +287,9 @@ $result_trees{'command_conditionals_user_defined'} = {
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0];
+$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'command_conditionals_user_defined'}{'contents'}[0];
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'command_conditionals_user_defined'}{'contents'}[0];
 
$result_trees{'command_conditionals_user_defined'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'command_conditionals_user_defined'}{'contents'}[0];
diff --git a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl 
b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
index 91191d97c1..9ffbc322b9 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
@@ -62,6 +62,25 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
               'text' => '@ifset
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -92,6 +111,9 @@ 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[2]{'parent'
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3];
+$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0];
 $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_ifset_in_ifset_set'};
diff --git a/tp/t/results/conditionals/end_ifset_in_format.pl 
b/tp/t/results/conditionals/end_ifset_in_format.pl
index 4dba5a857d..05424feaed 100644
--- a/tp/t/results/conditionals/end_ifset_in_format.pl
+++ b/tp/t/results/conditionals/end_ifset_in_format.pl
@@ -67,6 +67,25 @@ $result_trees{'end_ifset_in_format'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ignore'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -116,6 +135,25 @@ $result_trees{'end_ifset_in_format'} = {
               'text' => '@end ifset
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -197,6 +235,9 @@ 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[0
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[3];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[5];
@@ -205,6 +246,9 @@ 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'parent'} = $
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
diff --git a/tp/t/results/conditionals/ignore_not_closed.pl 
b/tp/t/results/conditionals/ignore_not_closed.pl
index 63b33945aa..4fb9865f3a 100644
--- a/tp/t/results/conditionals/ignore_not_closed.pl
+++ b/tp/t/results/conditionals/ignore_not_closed.pl
@@ -58,7 +58,7 @@ $result_trees{'ignore_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'ign
 $result_texis{'ignore_not_closed'} = '@ignore
 
 This is ignored
-@end ignore';
+';
 
 
 $result_texts{'ignore_not_closed'} = '';
diff --git a/tp/t/results/conditionals/macro_in_ifset.pl 
b/tp/t/results/conditionals/macro_in_ifset.pl
index 0469c4677f..ef1c7cf6ef 100644
--- a/tp/t/results/conditionals/macro_in_ifset.pl
+++ b/tp/t/results/conditionals/macro_in_ifset.pl
@@ -35,6 +35,25 @@ $result_trees{'macro_in_ifset'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -88,6 +107,9 @@ 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'parent'} = $resul
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
diff --git a/tp/t/results/conditionals/macro_in_ifset_set.pl 
b/tp/t/results/conditionals/macro_in_ifset_set.pl
index 1557938435..bb44740466 100644
--- a/tp/t/results/conditionals/macro_in_ifset_set.pl
+++ b/tp/t/results/conditionals/macro_in_ifset_set.pl
@@ -65,6 +65,25 @@ $result_trees{'macro_in_ifset_set'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -128,6 +147,25 @@ $result_trees{'macro_in_ifset_set'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -179,6 +217,9 @@ 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[2]{'parent'} = $r
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
@@ -187,6 +228,9 @@ 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[6]{'parent'} = $r
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
+$result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
 $result_trees{'macro_in_ifset_set'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'macro_in_ifset_set'}{'contents'}[0];
diff --git a/tp/t/results/conditionals/nested_ifset_ifclear.pl 
b/tp/t/results/conditionals/nested_ifset_ifclear.pl
index c84e58f11a..33b9fee766 100644
--- a/tp/t/results/conditionals/nested_ifset_ifclear.pl
+++ b/tp/t/results/conditionals/nested_ifset_ifclear.pl
@@ -77,6 +77,25 @@ $result_trees{'nested_ifset_ifclear'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -328,6 +347,9 @@ 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[
 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1];
+$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[9]{'args'}[0];
+$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[9]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[9];
+$result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1];
 $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'nested_ifset_ifclear'}{'contents'}[0];
 $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'nested_ifset_ifclear'}{'contents'}[0];
 $result_trees{'nested_ifset_ifclear'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'nested_ifset_ifclear'}{'contents'}[0];
diff --git a/tp/t/results/conditionals/nested_ignore.pl 
b/tp/t/results/conditionals/nested_ignore.pl
index 558397cbd9..590a70aaf7 100644
--- a/tp/t/results/conditionals/nested_ignore.pl
+++ b/tp/t/results/conditionals/nested_ignore.pl
@@ -37,6 +37,25 @@ $result_trees{'nested_ignore'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ignore'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -86,6 +105,25 @@ $result_trees{'nested_ignore'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ignore'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -135,6 +173,25 @@ $result_trees{'nested_ignore'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ignore'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -162,6 +219,9 @@ 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'par
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
 $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]{'contents'}[2]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
@@ -170,6 +230,9 @@ 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'par
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
@@ -178,6 +241,9 @@ 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'par
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[3]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[4]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'contents'}[4]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'};
diff --git a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl 
b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
index 6d7ec5b304..1881bdcecc 100644
--- a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
+++ b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
@@ -29,6 +29,25 @@ $result_trees{'user_defined_txiinternalvalue'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -75,6 +94,9 @@ $result_trees{'user_defined_txiinternalvalue'} = {
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0];
+$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0];
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0];
 
$result_trees{'user_defined_txiinternalvalue'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'user_defined_txiinternalvalue'}{'contents'}[0];
diff --git a/tp/t/results/converters_tests/at_commands_in_raw.pl 
b/tp/t/results/converters_tests/at_commands_in_raw.pl
index f992a3c980..83a4128f06 100644
--- a/tp/t/results/converters_tests/at_commands_in_raw.pl
+++ b/tp/t/results/converters_tests/at_commands_in_raw.pl
@@ -98,6 +98,25 @@ $result_trees{'at_commands_in_raw'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -916,6 +935,9 @@ 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[0]{'parent'} = $r
 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1];
+$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[2];
+$result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1];
 $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[2];
 $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[2];
 $result_trees{'at_commands_in_raw'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[2];
@@ -1476,7 +1498,7 @@ $result_converted{'html_text'}->{'at_commands_in_raw'} = 
'<div class="top-level-
 $result_converted{'xml'}->{'at_commands_in_raw'} = '<node name="Top" spaces=" 
"><nodename>Top</nodename><nodenext automatic="on">chap</nodenext></node>
 <top spaces=" "><sectiontitle>top</sectiontitle>
 
-<macro name="othermacro" line=" othermacro{}">Other macro
+<macro name="othermacro" line=" othermacro{}" endspaces=" ">Other macro
 </macro>
 
 </top>
diff --git a/tp/t/results/coverage/symbol_after_block.pl 
b/tp/t/results/coverage/symbol_after_block.pl
index 2327f5586b..dcac7e81f0 100644
--- a/tp/t/results/coverage/symbol_after_block.pl
+++ b/tp/t/results/coverage/symbol_after_block.pl
@@ -187,6 +187,25 @@ $result_trees{'symbol_after_block'} = {
               'text' => 'In verbatim
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -230,6 +249,25 @@ $result_trees{'symbol_after_block'} = {
               'text' => 'In verbatim
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1566,6 +1604,9 @@ 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[5]{'parent'} = $r
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[2];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[7];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
@@ -1573,6 +1614,9 @@ 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'parent'} = $r
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[2];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[10];
diff --git a/tp/t/results/coverage_braces/test_image.pl 
b/tp/t/results/coverage_braces/test_image.pl
index b89d33bea6..a5d1d435a0 100644
--- a/tp/t/results/coverage_braces/test_image.pl
+++ b/tp/t/results/coverage_braces/test_image.pl
@@ -41,6 +41,25 @@ $result_trees{'test_image'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3039,6 +3058,9 @@ 
$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent
 
$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'test_image'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'test_image'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'test_image'}{'contents'}[0]{'contents'}[0];
+$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'test_image'}{'contents'}[0]{'contents'}[0];
 $result_trees{'test_image'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'test_image'}{'contents'}[0];
 $result_trees{'test_image'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'test_image'}{'contents'}[0];
 $result_trees{'test_image'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'test_image'}{'contents'}[0];
diff --git a/tp/t/results/formatting/texi_bib_example.pl 
b/tp/t/results/formatting/texi_bib_example.pl
index 76766669a9..82e79cdfb0 100644
--- a/tp/t/results/formatting/texi_bib_example.pl
+++ b/tp/t/results/formatting/texi_bib_example.pl
@@ -2973,6 +2973,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3060,6 +3079,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3176,6 +3214,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3292,6 +3349,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3414,6 +3490,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3469,6 +3564,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -3621,6 +3735,25 @@ $result_trees{'texi_bib_example'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -4816,6 +4949,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'args'}[1]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[2]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[2];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[164]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[165]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[166]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4827,6 +4963,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[169]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[2]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[2];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[170]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[171]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[172]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4843,6 +4982,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[4]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[5]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[6]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[6];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'contents'}[6]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[176]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[177]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[178]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4859,6 +5001,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[4]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[5]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[6]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[6];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'contents'}[6]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[182]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[183]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[184]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4877,6 +5022,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[6]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[7]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[8]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[9]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[9]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[9];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'contents'}[9]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[188]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[189]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[190]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4885,6 +5033,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'args'}[2]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[2]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[2];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[191]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[192]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[193]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
@@ -4908,6 +5059,9 @@ 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[12]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[13]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[14]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[15]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[15]{'args'}[0];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[15]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[15];
+$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'contents'}[15]{'parent'}
 = 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[196]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[197]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1]{'contents'}[198]{'parent'}
 = $result_trees{'texi_bib_example'}{'contents'}[0]{'contents'}[1];
diff --git a/tp/t/results/formatting/texi_glossary.pl 
b/tp/t/results/formatting/texi_glossary.pl
index f5abf61e34..fdb6e33e11 100644
--- a/tp/t/results/formatting/texi_glossary.pl
+++ b/tp/t/results/formatting/texi_glossary.pl
@@ -90,6 +90,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -147,6 +166,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -273,6 +311,25 @@ $result_trees{'texi_glossary'} = {
                           'text' => '
 ',
                           'type' => 'last_raw_newline'
+                        },
+                        {
+                          'args' => [
+                            {
+                              'contents' => [
+                                {
+                                  'parent' => {},
+                                  'text' => 'macro'
+                                }
+                              ],
+                              'parent' => {},
+                              'type' => 'line_arg'
+                            }
+                          ],
+                          'cmdname' => 'end',
+                          'extra' => {
+                            'spaces_before_argument' => ' '
+                          },
+                          'parent' => {}
                         }
                       ],
                       'extra' => {
@@ -286,6 +343,25 @@ $result_trees{'texi_glossary'} = {
                       'text' => '
 ',
                       'type' => 'empty_line_after_command'
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'macro'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'line_arg'
+                        }
+                      ],
+                      'cmdname' => 'end',
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'parent' => {}
                     }
                   ],
                   'extra' => {
@@ -316,6 +392,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -644,6 +739,25 @@ $result_trees{'texi_glossary'} = {
                       'text' => '
 ',
                       'type' => 'last_raw_newline'
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'macro'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'line_arg'
+                        }
+                      ],
+                      'cmdname' => 'end',
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'parent' => {}
                     }
                   ],
                   'extra' => {
@@ -657,6 +771,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'empty_line_after_command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -726,6 +859,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -961,6 +1113,25 @@ $result_trees{'texi_glossary'} = {
                       'text' => '
 ',
                       'type' => 'last_raw_newline'
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'macro'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'line_arg'
+                        }
+                      ],
+                      'cmdname' => 'end',
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'parent' => {}
                     }
                   ],
                   'extra' => {
@@ -974,6 +1145,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'empty_line_after_command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -1043,6 +1233,25 @@ $result_trees{'texi_glossary'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -1144,6 +1353,9 @@ 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'par
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[2];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
@@ -1152,6 +1364,9 @@ 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'con
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'contents'}[4]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
@@ -1171,13 +1386,22 @@ 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'con
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[3]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[3];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[7]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[8]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[9]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[10]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[11]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[12]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[12]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[12]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[12];
+$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'contents'}[12]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1]{'contents'}[10]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[0]{'contents'}[1];
@@ -1224,8 +1448,14 @@ 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'con
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[3]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[3];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[5]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[6];
@@ -1235,6 +1465,9 @@ 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'con
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'contents'}[4]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[7]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[8]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[9]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
@@ -1269,8 +1502,14 @@ 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'co
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[3]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[3];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[13]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[14]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[15]{'args'}[0]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[15];
@@ -1280,6 +1519,9 @@ 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'co
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[1]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[2]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[3]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[4]{'args'}[0];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[4];
+$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'contents'}[4]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[16]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[17]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
 
$result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3]{'contents'}[18]{'parent'}
 = $result_trees{'texi_glossary'}{'contents'}[2]{'contents'}[3];
diff --git a/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl 
b/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
index d6d54a49a9..6f9037b742 100644
--- a/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
+++ b/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
@@ -160,6 +160,25 @@ $result_trees{'verbatim_in_multitable_in_example'} = {
                                   'text' => 'in first column, verbatim
 ',
                                   'type' => 'raw'
+                                },
+                                {
+                                  'args' => [
+                                    {
+                                      'contents' => [
+                                        {
+                                          'parent' => {},
+                                          'text' => 'verbatim'
+                                        }
+                                      ],
+                                      'parent' => {},
+                                      'type' => 'line_arg'
+                                    }
+                                  ],
+                                  'cmdname' => 'end',
+                                  'extra' => {
+                                    'spaces_before_argument' => ' '
+                                  },
+                                  'parent' => {}
                                 }
                               ],
                               'parent' => {},
@@ -353,6 +372,9 @@ 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1];
diff --git a/tp/t/results/html_tests/xml_protected_in_verb.pl 
b/tp/t/results/html_tests/xml_protected_in_verb.pl
index bb17b5155d..138b6fad39 100644
--- a/tp/t/results/html_tests/xml_protected_in_verb.pl
+++ b/tp/t/results/html_tests/xml_protected_in_verb.pl
@@ -26,6 +26,25 @@ $result_trees{'xml_protected_in_verb'} = {
               'text' => '<a>
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -130,6 +149,9 @@ $result_trees{'xml_protected_in_verb'} = {
 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0];
+$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0];
 $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'xml_protected_in_verb'}{'contents'}[0];
 $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'xml_protected_in_verb'}{'contents'}[0];
 $result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'xml_protected_in_verb'}{'contents'}[0];
diff --git a/tp/t/results/include/cpp_lines.pl 
b/tp/t/results/include/cpp_lines.pl
index 22123b3e87..e1b7fe8eda 100644
--- a/tp/t/results/include/cpp_lines.pl
+++ b/tp/t/results/include/cpp_lines.pl
@@ -187,6 +187,25 @@ $result_trees{'cpp_lines'} = {
               'text' => '  #line 5 "f"
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -228,6 +247,25 @@ $result_trees{'cpp_lines'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -374,6 +412,25 @@ $result_trees{'cpp_lines'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1170,12 +1227,18 @@ 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'extra'}
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[3];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[4]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[5]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'args'}[0]{'parent'} 
= $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[2];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[6]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[7]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[8]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
@@ -1198,6 +1261,9 @@ 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'args'}[0]{'parent'} =
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[1]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15];
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[2]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[3]{'args'}[0];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[3];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'contents'}[3]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[15]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[16]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[17]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
diff --git a/tp/t/results/include/macro_and_commands_in_early_commands.pl 
b/tp/t/results/include/macro_and_commands_in_early_commands.pl
index 0c320fa757..6139bc5a95 100644
--- a/tp/t/results/include/macro_and_commands_in_early_commands.pl
+++ b/tp/t/results/include/macro_and_commands_in_early_commands.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_and_commands_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -117,6 +136,25 @@ $result_trees{'macro_and_commands_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -207,6 +245,25 @@ $result_trees{'macro_and_commands_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -322,6 +379,25 @@ $result_trees{'macro_and_commands_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -430,6 +506,9 @@ $result_trees{'macro_and_commands_in_early_commands'} = {
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
@@ -442,6 +521,9 @@ 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
@@ -454,6 +536,9 @@ 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[3]{'args'}[0];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[3];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[3]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[0];
@@ -469,6 +554,9 @@ 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2];
+$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2];
 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_commands_in_early_commands'}{'contents'}[2]{'contents'}[3];
diff --git a/tp/t/results/include/macro_definition_in_include.pl 
b/tp/t/results/include/macro_definition_in_include.pl
index 0aceebee0c..be0563ba02 100644
--- a/tp/t/results/include/macro_definition_in_include.pl
+++ b/tp/t/results/include/macro_definition_in_include.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_definition_in_include'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -80,6 +99,9 @@ $result_trees{'macro_definition_in_include'} = {
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0];
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0];
 
$result_trees{'macro_definition_in_include'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_definition_in_include'}{'contents'}[0];
diff --git a/tp/t/results/include/macro_in_early_commands.pl 
b/tp/t/results/include/macro_in_early_commands.pl
index c7eff56e8b..4c868c90b7 100644
--- a/tp/t/results/include/macro_in_early_commands.pl
+++ b/tp/t/results/include/macro_in_early_commands.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -73,6 +92,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -153,6 +191,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -198,6 +255,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -286,6 +362,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -401,6 +496,25 @@ $result_trees{'macro_in_early_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -503,12 +617,18 @@ $result_trees{'macro_in_early_commands'} = {
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
@@ -519,12 +639,18 @@ 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[6]{'parent'}
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
@@ -536,6 +662,9 @@ 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'args'}[
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[3]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[3];
+$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[15]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[16]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
 
$result_trees{'macro_in_early_commands'}{'contents'}[0]{'contents'}[17]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[0];
@@ -551,6 +680,9 @@ 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[0]{'parent'}
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1];
+$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2];
+$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1];
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2];
 
$result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_early_commands'}{'contents'}[2]{'contents'}[3];
diff --git a/tp/t/results/info_tests/def_in_copying.pl 
b/tp/t/results/info_tests/def_in_copying.pl
index 76a7fc5d30..41154ed34e 100644
--- a/tp/t/results/info_tests/def_in_copying.pl
+++ b/tp/t/results/info_tests/def_in_copying.pl
@@ -47,6 +47,25 @@ $result_trees{'def_in_copying'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -751,6 +770,9 @@ 
$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'pa
 
$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0];
+$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[5];
+$result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0];
 $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'def_in_copying'}{'contents'}[0];
 $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'def_in_copying'}{'contents'}[0];
 $result_trees{'def_in_copying'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'def_in_copying'}{'contents'}[0];
diff --git a/tp/t/results/invalid_nestings/ignore_in_xref.pl 
b/tp/t/results/invalid_nestings/ignore_in_xref.pl
index 4db8c26dd6..d8f2c60126 100644
--- a/tp/t/results/invalid_nestings/ignore_in_xref.pl
+++ b/tp/t/results/invalid_nestings/ignore_in_xref.pl
@@ -75,6 +75,25 @@ $result_trees{'ignore_in_xref'} = {
                           'text' => '
 ',
                           'type' => 'last_raw_newline'
+                        },
+                        {
+                          'args' => [
+                            {
+                              'contents' => [
+                                {
+                                  'parent' => {},
+                                  'text' => 'ignore'
+                                }
+                              ],
+                              'parent' => {},
+                              'type' => 'line_arg'
+                            }
+                          ],
+                          'cmdname' => 'end',
+                          'extra' => {
+                            'spaces_before_argument' => ' '
+                          },
+                          'parent' => {}
                         }
                       ],
                       'parent' => {},
@@ -162,6 +181,9 @@ 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'ar
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[3];
+$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
diff --git a/tp/t/results/invalid_nestings/verbatim_in_ref.pl 
b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
index 47aefe46ae..0fc62a74f0 100644
--- a/tp/t/results/invalid_nestings/verbatim_in_ref.pl
+++ b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
@@ -91,6 +91,25 @@ $result_trees{'verbatim_in_ref'} = {
               'text' => 'verbat text
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -160,6 +179,9 @@ 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'parent'} = $resu
 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2];
 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2];
 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2];
+$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[2];
+$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2];
 $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'verbatim_in_ref'}{'contents'}[1];
 $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'verbatim_in_ref'}{'contents'}[1];
 $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[4]{'parent'} = 
$result_trees{'verbatim_in_ref'}{'contents'}[1];
diff --git a/tp/t/results/latex_tests/verbatim_in_smallformat.pl 
b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
index b2b4a55f3b..7611f9bd52 100644
--- a/tp/t/results/latex_tests/verbatim_in_smallformat.pl
+++ b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
@@ -45,6 +45,25 @@ $result_trees{'verbatim_in_smallformat'} = {
                   'text' => '... still verbatim, but in a smaller font ...
 ',
                   'type' => 'raw'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'verbatim'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'parent' => {},
@@ -109,6 +128,9 @@ 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'args'}[0
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2];
+$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
diff --git a/tp/t/results/macro/arg_body_expansion_order.pl 
b/tp/t/results/macro/arg_body_expansion_order.pl
index 737fcc7a15..e6ad9df582 100644
--- a/tp/t/results/macro/arg_body_expansion_order.pl
+++ b/tp/t/results/macro/arg_body_expansion_order.pl
@@ -35,6 +35,25 @@ $result_trees{'arg_body_expansion_order'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -94,6 +113,25 @@ $result_trees{'arg_body_expansion_order'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -118,6 +156,25 @@ $result_trees{'arg_body_expansion_order'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -181,6 +238,25 @@ $result_trees{'arg_body_expansion_order'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -222,6 +298,9 @@ 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[0]{'parent'
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
@@ -230,10 +309,16 @@ 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'args'}[
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[2];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[3]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[4]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[5]{'args'}[0];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[5];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'contents'}[5]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
@@ -242,6 +327,9 @@ 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[7]{'parent'
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[2];
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0];
 
$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'arg_body_expansion_order'}{'contents'}[0]{'contents'}[10];
diff --git a/tp/t/results/macro/arg_not_closed.pl 
b/tp/t/results/macro/arg_not_closed.pl
index a5c10fed05..349da92c03 100644
--- a/tp/t/results/macro/arg_not_closed.pl
+++ b/tp/t/results/macro/arg_not_closed.pl
@@ -34,6 +34,25 @@ $result_trees{'arg_not_closed'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -81,6 +100,9 @@ 
$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent
 
$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0];
 $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
 $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
 $result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
diff --git a/tp/t/results/macro/backslash_in_arg.pl 
b/tp/t/results/macro/backslash_in_arg.pl
index dddfc55c3d..1e33a9e395 100644
--- a/tp/t/results/macro/backslash_in_arg.pl
+++ b/tp/t/results/macro/backslash_in_arg.pl
@@ -62,6 +62,25 @@ $result_trees{'backslash_in_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -317,6 +336,9 @@ 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'pare
 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1];
+$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
+$result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1];
 $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'backslash_in_arg'}{'contents'}[1];
 $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'backslash_in_arg'}{'contents'}[1];
 $result_trees{'backslash_in_arg'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'backslash_in_arg'}{'contents'}[1];
diff --git a/tp/t/results/macro/bad_argument.pl 
b/tp/t/results/macro/bad_argument.pl
index 30c5a9fbaf..eea7e28293 100644
--- a/tp/t/results/macro/bad_argument.pl
+++ b/tp/t/results/macro/bad_argument.pl
@@ -22,6 +22,25 @@ $result_trees{'bad_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -68,6 +87,25 @@ $result_trees{'bad_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'rmacro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -119,6 +157,25 @@ $result_trees{'bad_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -158,6 +215,25 @@ $result_trees{'bad_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -187,12 +263,18 @@ $result_trees{'bad_argument'} = {
 };
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
@@ -200,11 +282,17 @@ 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'args'}[1]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[2];
+$result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'parent'}
 = $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'bad_argument'}{'contents'}[0];
 $result_trees{'bad_argument'}{'contents'}[0]{'parent'} = 
$result_trees{'bad_argument'};
diff --git a/tp/t/results/macro/bad_formal_arg.pl 
b/tp/t/results/macro/bad_formal_arg.pl
index 657e9cfeab..9881b4924f 100644
--- a/tp/t/results/macro/bad_formal_arg.pl
+++ b/tp/t/results/macro/bad_formal_arg.pl
@@ -45,6 +45,25 @@ $result_trees{'bad_formal_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -101,6 +120,25 @@ $result_trees{'bad_formal_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -161,6 +199,25 @@ $result_trees{'bad_formal_arg'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -174,6 +231,25 @@ $result_trees{'bad_formal_arg'} = {
               'text' => '
 ',
               'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -207,6 +283,9 @@ 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'args'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
@@ -215,6 +294,9 @@ 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'args'}[1]{'parent
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'args'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
@@ -223,8 +305,14 @@ 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'args'}[1]{'parent
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[2];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3];
+$result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'parent'}
 = $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'bad_formal_arg'}{'contents'}[0];
 $result_trees{'bad_formal_arg'}{'contents'}[0]{'parent'} = 
$result_trees{'bad_formal_arg'};
diff --git a/tp/t/results/macro/bad_macro_name_with_underscore.pl 
b/tp/t/results/macro/bad_macro_name_with_underscore.pl
index e75b1480d0..ebb760d158 100644
--- a/tp/t/results/macro/bad_macro_name_with_underscore.pl
+++ b/tp/t/results/macro/bad_macro_name_with_underscore.pl
@@ -39,6 +39,25 @@ $result_trees{'bad_macro_name_with_underscore'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -70,6 +89,9 @@ 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'a
 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0];
+$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'bad_macro_name_with_underscore'}{'contents'}[0];
 
$result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'bad_macro_name_with_underscore'}{'contents'}[0];
 $result_trees{'bad_macro_name_with_underscore'}{'contents'}[0]{'parent'} = 
$result_trees{'bad_macro_name_with_underscore'};
diff --git a/tp/t/results/macro/complete_macro_for_end.pl 
b/tp/t/results/macro/complete_macro_for_end.pl
index 15963507ae..b73c75d027 100644
--- a/tp/t/results/macro/complete_macro_for_end.pl
+++ b/tp/t/results/macro/complete_macro_for_end.pl
@@ -29,6 +29,25 @@ $result_trees{'complete_macro_for_end'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -111,6 +130,9 @@ $result_trees{'complete_macro_for_end'} = {
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0];
+$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'complete_macro_for_end'}{'contents'}[0];
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'complete_macro_for_end'}{'contents'}[0];
 
$result_trees{'complete_macro_for_end'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'complete_macro_for_end'}{'contents'}[0];
diff --git a/tp/t/results/macro/complex_argument.pl 
b/tp/t/results/macro/complex_argument.pl
index cdb8b2ea68..066ad322a7 100644
--- a/tp/t/results/macro/complex_argument.pl
+++ b/tp/t/results/macro/complex_argument.pl
@@ -34,6 +34,25 @@ $result_trees{'complex_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -97,6 +116,25 @@ $result_trees{'complex_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -158,6 +196,25 @@ $result_trees{'complex_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -341,6 +398,25 @@ $result_trees{'complex_argument'} = {
               'text' => '@macrotwo
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -378,6 +454,25 @@ $result_trees{'complex_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ignore'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -418,6 +513,25 @@ $result_trees{'complex_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -546,6 +660,9 @@ 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'pare
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
@@ -555,6 +672,9 @@ 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[5]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[5];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[5]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
@@ -564,6 +684,9 @@ 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'args'}[2]{'pare
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[3]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[3];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[3]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
@@ -589,18 +712,27 @@ 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[9]{'parent'} = $res
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[3]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[3];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'contents'}[3]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'args'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'args'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[2]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[2];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[15]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[16]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[16];
diff --git a/tp/t/results/macro/double_macro_definition.pl 
b/tp/t/results/macro/double_macro_definition.pl
index 67b3703d71..5d0a708b8b 100644
--- a/tp/t/results/macro/double_macro_definition.pl
+++ b/tp/t/results/macro/double_macro_definition.pl
@@ -18,7 +18,27 @@ $result_trees{'double_macro_definition'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' foo
 '
@@ -51,7 +71,27 @@ $result_trees{'double_macro_definition'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' foo
 '
@@ -77,10 +117,16 @@ $result_trees{'double_macro_definition'} = {
   'type' => 'document_root'
 };
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0];
 
$result_trees{'double_macro_definition'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'double_macro_definition'}{'contents'}[0];
 $result_trees{'double_macro_definition'}{'contents'}[0]{'parent'} = 
$result_trees{'double_macro_definition'};
diff --git a/tp/t/results/macro/double_recursive_macro_call.pl 
b/tp/t/results/macro/double_recursive_macro_call.pl
index aba403c397..9519443384 100644
--- a/tp/t/results/macro/double_recursive_macro_call.pl
+++ b/tp/t/results/macro/double_recursive_macro_call.pl
@@ -40,6 +40,25 @@ $result_trees{'double_recursive_macro_call'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -90,6 +109,25 @@ $result_trees{'double_recursive_macro_call'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -133,6 +171,9 @@ 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'args
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
@@ -140,6 +181,9 @@ 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'args
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'args'}[1]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
 
$result_trees{'double_recursive_macro_call'}{'contents'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'double_recursive_macro_call'}{'contents'}[0];
diff --git a/tp/t/results/macro/empty_end.pl b/tp/t/results/macro/empty_end.pl
index a11db34ca2..474cae61eb 100644
--- a/tp/t/results/macro/empty_end.pl
+++ b/tp/t/results/macro/empty_end.pl
@@ -34,6 +34,25 @@ $result_trees{'empty_end'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -63,6 +82,9 @@ 
$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} =
 $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'} 
= $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0];
 $result_trees{'empty_end'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'empty_end'}{'contents'}[0];
 $result_trees{'empty_end'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'empty_end'}{'contents'}[0];
 $result_trees{'empty_end'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_end'};
diff --git a/tp/t/results/macro/empty_macro_argument.pl 
b/tp/t/results/macro/empty_macro_argument.pl
index d253a4327e..36309f0978 100644
--- a/tp/t/results/macro/empty_macro_argument.pl
+++ b/tp/t/results/macro/empty_macro_argument.pl
@@ -29,6 +29,25 @@ $result_trees{'empty_macro_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -96,6 +115,25 @@ $result_trees{'empty_macro_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -141,6 +179,9 @@ $result_trees{'empty_macro_argument'} = {
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
@@ -151,6 +192,9 @@ 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'args'}[1]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
+$result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[6]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
 $result_trees{'empty_macro_argument'}{'contents'}[0]{'contents'}[7]{'parent'} 
= $result_trees{'empty_macro_argument'}{'contents'}[0];
diff --git a/tp/t/results/macro/empty_macro_in_text_no_arg.pl 
b/tp/t/results/macro/empty_macro_in_text_no_arg.pl
index 033f02a2bf..bfcc4b6bb6 100644
--- a/tp/t/results/macro/empty_macro_in_text_no_arg.pl
+++ b/tp/t/results/macro/empty_macro_in_text_no_arg.pl
@@ -18,7 +18,27 @@ $result_trees{'empty_macro_in_text_no_arg'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' texnl{}
 '
@@ -73,7 +93,27 @@ $result_trees{'empty_macro_in_text_no_arg'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' texnltwo
 '
@@ -116,6 +156,9 @@ $result_trees{'empty_macro_in_text_no_arg'} = {
   'type' => 'document_root'
 };
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
@@ -124,6 +167,9 @@ 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[4]{'conte
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'contents'}[0];
+$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
 
$result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'empty_macro_in_text_no_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/empty_macro_no_arg.pl 
b/tp/t/results/macro/empty_macro_no_arg.pl
index 96e5e6702c..baf3b6e538 100644
--- a/tp/t/results/macro/empty_macro_no_arg.pl
+++ b/tp/t/results/macro/empty_macro_no_arg.pl
@@ -18,7 +18,27 @@ $result_trees{'empty_macro_no_arg'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' foo
 '
@@ -68,6 +88,9 @@ $result_trees{'empty_macro_no_arg'} = {
   'type' => 'document_root'
 };
 
$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0];
 $result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'empty_macro_no_arg'}{'contents'}[0];
 $result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'empty_macro_no_arg'}{'contents'}[0];
 $result_trees{'empty_macro_no_arg'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'empty_macro_no_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/expand_two_same.pl 
b/tp/t/results/macro/expand_two_same.pl
index d909a9ffba..787598f82b 100644
--- a/tp/t/results/macro/expand_two_same.pl
+++ b/tp/t/results/macro/expand_two_same.pl
@@ -40,6 +40,25 @@ $result_trees{'expand_two_same'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -188,6 +207,9 @@ 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'paren
 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0];
+$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
+$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0];
 $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[0];
 $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[0]{'contents'}[2];
diff --git a/tp/t/results/macro/expansion_order.pl 
b/tp/t/results/macro/expansion_order.pl
index c2488762f7..d2b672d007 100644
--- a/tp/t/results/macro/expansion_order.pl
+++ b/tp/t/results/macro/expansion_order.pl
@@ -34,6 +34,25 @@ $result_trees{'expansion_order'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -85,6 +104,25 @@ $result_trees{'expansion_order'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -138,6 +176,9 @@ 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'paren
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
@@ -145,6 +186,9 @@ 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'paren
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[3];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
 $result_trees{'expansion_order'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'expansion_order'}{'contents'}[0];
diff --git a/tp/t/results/macro/form_feeds.pl b/tp/t/results/macro/form_feeds.pl
index 5868e1878f..5a03c7e8bc 100644
--- a/tp/t/results/macro/form_feeds.pl
+++ b/tp/t/results/macro/form_feeds.pl
@@ -39,6 +39,25 @@ $result_trees{'form_feeds'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -89,6 +108,25 @@ $result_trees{'form_feeds'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -188,6 +226,9 @@ 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'} =
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'} 
= $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
@@ -195,6 +236,9 @@ 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'} =
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'parent'} 
= $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
 $result_trees{'form_feeds'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'form_feeds'}{'contents'}[0];
diff --git a/tp/t/results/macro/ifclear_in_macro.pl 
b/tp/t/results/macro/ifclear_in_macro.pl
index 9cedbe21c1..259bc23a6b 100644
--- a/tp/t/results/macro/ifclear_in_macro.pl
+++ b/tp/t/results/macro/ifclear_in_macro.pl
@@ -46,6 +46,25 @@ $result_trees{'ifclear_in_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -101,6 +120,9 @@ 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'
 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0];
 $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'ifclear_in_macro'}{'contents'}[0];
 $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'ifclear_in_macro'}{'contents'}[0];
 $result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'ifclear_in_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/ifset_and_end_isef_in_macro.pl 
b/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
index 47abb8277c..c60e3f43e0 100644
--- a/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
+++ b/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
@@ -29,6 +29,25 @@ $result_trees{'ifset_and_end_isef_in_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -74,6 +93,25 @@ $result_trees{'ifset_and_end_isef_in_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -109,12 +147,18 @@ $result_trees{'ifset_and_end_isef_in_macro'} = {
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
 
$result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'ifset_and_end_isef_in_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/ifset_in_macro.pl 
b/tp/t/results/macro/ifset_in_macro.pl
index 8fd43ab204..400dedfc24 100644
--- a/tp/t/results/macro/ifset_in_macro.pl
+++ b/tp/t/results/macro/ifset_in_macro.pl
@@ -46,6 +46,25 @@ $result_trees{'ifset_in_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -84,6 +103,9 @@ 
$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'pa
 
$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0];
 $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'ifset_in_macro'}{'contents'}[0];
 $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'ifset_in_macro'}{'contents'}[0];
 $result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'ifset_in_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/ifset_in_macro_set.pl 
b/tp/t/results/macro/ifset_in_macro_set.pl
index 1b6c8be192..50c18a927b 100644
--- a/tp/t/results/macro/ifset_in_macro_set.pl
+++ b/tp/t/results/macro/ifset_in_macro_set.pl
@@ -46,6 +46,25 @@ $result_trees{'ifset_in_macro_set'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -101,6 +120,9 @@ 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[0]
 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0];
 $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
 $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
 $result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
diff --git a/tp/t/results/macro/ignored_macro_definition.pl 
b/tp/t/results/macro/ignored_macro_definition.pl
index 0075664da3..526f621c48 100644
--- a/tp/t/results/macro/ignored_macro_definition.pl
+++ b/tp/t/results/macro/ignored_macro_definition.pl
@@ -29,6 +29,25 @@ $result_trees{'ignored_macro_definition'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -128,6 +147,9 @@ $result_trees{'ignored_macro_definition'} = {
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0];
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0];
 
$result_trees{'ignored_macro_definition'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ignored_macro_definition'}{'contents'}[0];
diff --git a/tp/t/results/macro/implicit_quoting_one_arg.pl 
b/tp/t/results/macro/implicit_quoting_one_arg.pl
index dbfbfbcca9..ba2c33de13 100644
--- a/tp/t/results/macro/implicit_quoting_one_arg.pl
+++ b/tp/t/results/macro/implicit_quoting_one_arg.pl
@@ -40,6 +40,25 @@ $result_trees{'implicit_quoting_one_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -110,6 +129,9 @@ 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'args'}[
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0];
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0];
 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/implicit_quoting_recursion.pl 
b/tp/t/results/macro/implicit_quoting_recursion.pl
index e0fb623ba6..061e8e91b1 100644
--- a/tp/t/results/macro/implicit_quoting_recursion.pl
+++ b/tp/t/results/macro/implicit_quoting_recursion.pl
@@ -39,6 +39,25 @@ $result_trees{'implicit_quoting_recursion'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'rmacro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -87,6 +106,9 @@ 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'args'
 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'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]{'contents'}[1]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
 
$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
diff --git a/tp/t/results/macro/include_after_empty_line_arg.pl 
b/tp/t/results/macro/include_after_empty_line_arg.pl
index 68e00f1891..769eecc8aa 100644
--- a/tp/t/results/macro/include_after_empty_line_arg.pl
+++ b/tp/t/results/macro/include_after_empty_line_arg.pl
@@ -34,6 +34,25 @@ $result_trees{'include_after_empty_line_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -103,6 +122,9 @@ 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'arg
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0];
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0];
 
$result_trees{'include_after_empty_line_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'include_after_empty_line_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/leading_spaces_no_ignore.pl 
b/tp/t/results/macro/leading_spaces_no_ignore.pl
index 1b03a0b15e..315d8886a2 100644
--- a/tp/t/results/macro/leading_spaces_no_ignore.pl
+++ b/tp/t/results/macro/leading_spaces_no_ignore.pl
@@ -35,6 +35,25 @@ $result_trees{'leading_spaces_no_ignore'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -92,6 +111,9 @@ 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'args'}[
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0];
+$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
+$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0];
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0];
 
$result_trees{'leading_spaces_no_ignore'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'leading_spaces_no_ignore'}{'contents'}[0];
diff --git a/tp/t/results/macro/line_after_recursive_call.pl 
b/tp/t/results/macro/line_after_recursive_call.pl
index 1fb2bd822a..bccf32a4c7 100644
--- a/tp/t/results/macro/line_after_recursive_call.pl
+++ b/tp/t/results/macro/line_after_recursive_call.pl
@@ -41,6 +41,25 @@ $result_trees{'line_after_recursive_call'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -92,6 +111,9 @@ 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'conten
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0];
+$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0];
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0];
 
$result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'line_after_recursive_call'}{'contents'}[0]{'contents'}[2];
diff --git a/tp/t/results/macro/macro_expands_to_empty.pl 
b/tp/t/results/macro/macro_expands_to_empty.pl
index 8d97e2e680..978b277101 100644
--- a/tp/t/results/macro/macro_expands_to_empty.pl
+++ b/tp/t/results/macro/macro_expands_to_empty.pl
@@ -34,6 +34,25 @@ $result_trees{'macro_expands_to_empty'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -87,6 +106,9 @@ 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'args'}[0]
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'macro_expands_to_empty'}{'contents'}[0];
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'macro_expands_to_empty'}{'contents'}[0];
 
$result_trees{'macro_expands_to_empty'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_expands_to_empty'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_expansion.pl 
b/tp/t/results/macro/macro_expansion.pl
index 9256e6dcce..c6e9db6f23 100644
--- a/tp/t/results/macro/macro_expansion.pl
+++ b/tp/t/results/macro/macro_expansion.pl
@@ -63,6 +63,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -116,6 +135,25 @@ $result_trees{'macro_expansion'} = {
               'text' => 'second arg
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -196,6 +234,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -250,6 +307,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -309,6 +385,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '@macroone{nested second arg}
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -363,6 +458,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '{} \\ 
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -446,6 +560,25 @@ $result_trees{'macro_expansion'} = {
               'text' => '
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -481,6 +614,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'p
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[5];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
@@ -489,6 +625,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'parent'} = $resu
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
@@ -502,6 +641,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[8]{'parent'} = $resu
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[2];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
@@ -511,6 +653,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[12]{'parent'} = $res
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[2];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[15]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[15];
@@ -521,6 +666,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[17]{'parent'} = $res
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[2];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[19]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[19];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[19]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
@@ -530,6 +678,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'parent'} = $res
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[22]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[23]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[23];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[23]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
@@ -544,6 +695,9 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[0]{'
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[3]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[4]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[4];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'contents'}[4]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[28]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[29]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[29];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[29]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_for_end.pl 
b/tp/t/results/macro/macro_for_end.pl
index e08757ac8a..6b8077294d 100644
--- a/tp/t/results/macro/macro_for_end.pl
+++ b/tp/t/results/macro/macro_for_end.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_for_end'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -115,6 +134,9 @@ $result_trees{'macro_for_end'} = {
 
$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_for_end'}{'contents'}[0];
 $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_for_end'}{'contents'}[0];
 $result_trees{'macro_for_end'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_for_end'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_for_ignored_line_command.pl 
b/tp/t/results/macro/macro_for_ignored_line_command.pl
index f16bc0f9da..077442ae24 100644
--- a/tp/t/results/macro/macro_for_ignored_line_command.pl
+++ b/tp/t/results/macro/macro_for_ignored_line_command.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_for_ignored_line_command'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -76,6 +95,9 @@ $result_trees{'macro_for_ignored_line_command'} = {
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_for_ignored_line_command'}{'contents'}[0];
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_for_ignored_line_command'}{'contents'}[0];
 
$result_trees{'macro_for_ignored_line_command'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_for_ignored_line_command'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_accent.pl 
b/tp/t/results/macro/macro_in_accent.pl
index 8bc96bd0e8..47397c623d 100644
--- a/tp/t/results/macro/macro_in_accent.pl
+++ b/tp/t/results/macro/macro_in_accent.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_accent'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -74,6 +93,25 @@ $result_trees{'macro_in_accent'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -268,12 +306,18 @@ $result_trees{'macro_in_accent'} = {
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
 $result_trees{'macro_in_accent'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'macro_in_accent'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_brace_command.pl 
b/tp/t/results/macro/macro_in_brace_command.pl
index 770ad3746f..c077d6fd94 100644
--- a/tp/t/results/macro/macro_in_brace_command.pl
+++ b/tp/t/results/macro/macro_in_brace_command.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_brace_command'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -74,6 +93,25 @@ $result_trees{'macro_in_brace_command'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -237,12 +275,18 @@ $result_trees{'macro_in_brace_command'} = {
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'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]{'contents'}[1]{'parent'} 
= $result_trees{'macro_in_brace_command'}{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_in_brace_command'}{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'macro_in_brace_command'}{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'macro_in_brace_command'}{'contents'}[0];
 
$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'macro_in_brace_command'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_end_argument.pl 
b/tp/t/results/macro/macro_in_end_argument.pl
index 9b5b271d74..567a23879f 100644
--- a/tp/t/results/macro/macro_in_end_argument.pl
+++ b/tp/t/results/macro/macro_in_end_argument.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_end_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -115,6 +134,9 @@ $result_trees{'macro_in_end_argument'} = {
 
$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'macro_in_end_argument'}{'contents'}[0];
 $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'macro_in_end_argument'}{'contents'}[0];
 $result_trees{'macro_in_end_argument'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_in_end_argument'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_ifset.pl 
b/tp/t/results/macro/macro_in_ifset.pl
index 231a255535..4e8034cfe0 100644
--- a/tp/t/results/macro/macro_in_ifset.pl
+++ b/tp/t/results/macro/macro_in_ifset.pl
@@ -34,6 +34,25 @@ $result_trees{'macro_in_ifset'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -70,6 +89,9 @@ 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
 $result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_ifset'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_ifset_end_in_arg.pl 
b/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
index 80329c301c..a9a202a927 100644
--- a/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
+++ b/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
@@ -34,6 +34,25 @@ $result_trees{'macro_in_ifset_end_in_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -115,6 +134,9 @@ 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'args'}
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
 
$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_index_commands.pl 
b/tp/t/results/macro/macro_in_index_commands.pl
index 1755cfafa9..c7a1f91267 100644
--- a/tp/t/results/macro/macro_in_index_commands.pl
+++ b/tp/t/results/macro/macro_in_index_commands.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -68,6 +87,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -107,6 +145,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -222,6 +279,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -320,6 +396,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -365,6 +460,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -447,6 +561,25 @@ $result_trees{'macro_in_index_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -901,16 +1034,25 @@ $result_trees{'macro_in_index_commands'} = {
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
@@ -924,6 +1066,9 @@ 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[9]{'parent'}
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
@@ -937,12 +1082,18 @@ 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[14]{'parent'
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[15]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[16]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[17]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[18]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[19]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[20]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
@@ -953,6 +1104,9 @@ 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[22]{'parent'
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[2];
+$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[23]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[24]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
 
$result_trees{'macro_in_index_commands'}{'contents'}[0]{'contents'}[25]{'parent'}
 = $result_trees{'macro_in_index_commands'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_invalid_documentencoding.pl 
b/tp/t/results/macro/macro_in_invalid_documentencoding.pl
index c52e701c11..4425a8ff41 100644
--- a/tp/t/results/macro/macro_in_invalid_documentencoding.pl
+++ b/tp/t/results/macro/macro_in_invalid_documentencoding.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_invalid_documentencoding'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -87,6 +106,9 @@ $result_trees{'macro_in_invalid_documentencoding'} = {
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0];
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0];
 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_invalid_documentencoding'}{'contents'}[0]{'contents'}[2]{'args'}[0];
diff --git a/tp/t/results/macro/macro_in_macro_arg.pl 
b/tp/t/results/macro/macro_in_macro_arg.pl
index 6ed47b6eea..fdfb52c9fb 100644
--- a/tp/t/results/macro/macro_in_macro_arg.pl
+++ b/tp/t/results/macro/macro_in_macro_arg.pl
@@ -35,6 +35,25 @@ $result_trees{'macro_in_macro_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -85,6 +104,25 @@ $result_trees{'macro_in_macro_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -146,6 +184,25 @@ $result_trees{'macro_in_macro_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -198,6 +255,9 @@ 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[0]{'parent'} = $r
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
@@ -205,6 +265,9 @@ 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'pa
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'args'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
@@ -214,6 +277,9 @@ 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'args'}[2]{'pa
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3];
+$result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
 $result_trees{'macro_in_macro_arg'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'macro_in_macro_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_macro_arg_simpler.pl 
b/tp/t/results/macro/macro_in_macro_arg_simpler.pl
index 1e12b6f795..a2a52bd65d 100644
--- a/tp/t/results/macro/macro_in_macro_arg_simpler.pl
+++ b/tp/t/results/macro/macro_in_macro_arg_simpler.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_macro_arg_simpler'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -90,6 +109,25 @@ $result_trees{'macro_in_macro_arg_simpler'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -141,6 +179,9 @@ $result_trees{'macro_in_macro_arg_simpler'} = {
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
@@ -150,6 +191,9 @@ 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'args'
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[3];
+$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
 
$result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'macro_in_macro_arg_simpler'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_menu.pl 
b/tp/t/results/macro/macro_in_menu.pl
index f25fa3c362..3b13eca4c2 100644
--- a/tp/t/results/macro/macro_in_menu.pl
+++ b/tp/t/results/macro/macro_in_menu.pl
@@ -35,6 +35,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -80,6 +99,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -125,6 +163,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -170,6 +227,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -215,6 +291,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -260,6 +355,25 @@ $result_trees{'macro_in_menu'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -671,36 +785,54 @@ 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[0]{'parent'} = $result
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[15]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16];
 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[2];
+$result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[16]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[17]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
 $result_trees{'macro_in_menu'}{'contents'}[0]{'contents'}[18]{'parent'} = 
$result_trees{'macro_in_menu'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_in_misc_commands.pl 
b/tp/t/results/macro/macro_in_misc_commands.pl
index ec2b3ca016..79453367ab 100644
--- a/tp/t/results/macro/macro_in_misc_commands.pl
+++ b/tp/t/results/macro/macro_in_misc_commands.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -74,6 +93,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -269,6 +307,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -308,6 +365,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -449,6 +525,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -494,6 +589,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -674,6 +788,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -756,6 +889,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -807,6 +959,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -956,6 +1127,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1073,6 +1263,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1112,6 +1321,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1313,6 +1541,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1524,6 +1771,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1563,10 +1829,29 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
-            }
-          ],
-          'extra' => {
-            'arg_line' => ' zero 
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'arg_line' => ' zero 
 '
           },
           'parent' => {},
@@ -1602,6 +1887,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1641,6 +1945,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1680,6 +2003,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1917,6 +2259,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1956,6 +2317,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2063,6 +2443,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2102,6 +2501,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2227,6 +2645,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2315,6 +2752,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2354,6 +2810,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2467,6 +2942,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2506,6 +3000,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2545,6 +3058,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2875,6 +3407,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2961,6 +3512,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3034,6 +3604,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3110,6 +3699,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3398,6 +4006,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3460,6 +4087,25 @@ $result_trees{'macro_in_misc_commands'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -3514,12 +4160,18 @@ $result_trees{'macro_in_misc_commands'} = {
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[0];
@@ -3545,11 +4197,17 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[3]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[4]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[5]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[6]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[7]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[8]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3569,12 +4227,18 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[12]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[13]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[14]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[15]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[16]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[17]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[18]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3596,6 +4260,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[24]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[25]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[26]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[27]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3606,6 +4273,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[29]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[30]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[31]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[32]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[32];
@@ -3613,6 +4283,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[32]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[33]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[34]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[35]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[35];
@@ -3634,6 +4307,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[40]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[41]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[42]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[43]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[43]{'args'}[0];
@@ -3649,11 +4325,17 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[46]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[47]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[48]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[49]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[50]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[51]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3682,6 +4364,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[59]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[60]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[61]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[62]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[62]{'args'}[0];
@@ -3708,26 +4393,41 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[67]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[68]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[69]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[70]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[71]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[72]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[73]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[74]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[75]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[76]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[77]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[78]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3753,11 +4453,17 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[85]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[86]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[87]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[88]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[89]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[90]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[90]{'args'}[0];
@@ -3770,11 +4476,17 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[92]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[93]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[94]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[95]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[96]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[97]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[97]{'args'}[0];
@@ -3789,6 +4501,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[100]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[101]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[102]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[103]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[103]{'args'}[0];
@@ -3799,11 +4514,17 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[104]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[105]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[106]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[107]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[108]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[109]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[109]{'args'}[0];
@@ -3817,16 +4538,25 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[112]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[113]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[114]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[115]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[116]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[117]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[118]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[119]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3887,6 +4617,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[134]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[135]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[136]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[137]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[137];
@@ -3898,6 +4631,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[140]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[141]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[142]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[143]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[143]{'args'}[0];
@@ -3907,6 +4643,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[144]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[145]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[146]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[147]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[147]{'args'}[0];
@@ -3916,6 +4655,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[148]{'parent'
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[149]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[150]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[2]{'contents'}[151]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[2];
@@ -3953,6 +4695,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[2]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[3]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[4]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[5];
@@ -3961,6 +4706,9 @@ 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[6]{'parent'}
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[2];
+$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[7]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[8]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[4];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[4]{'contents'}[9]{'parent'} 
= $result_trees{'macro_in_misc_commands'}{'contents'}[4];
diff --git a/tp/t/results/macro/macro_name_with_digit.pl 
b/tp/t/results/macro/macro_name_with_digit.pl
index 7cc4981c3a..eb0030530e 100644
--- a/tp/t/results/macro/macro_name_with_digit.pl
+++ b/tp/t/results/macro/macro_name_with_digit.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_name_with_digit'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -79,6 +98,25 @@ $result_trees{'macro_name_with_digit'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -125,6 +163,9 @@ $result_trees{'macro_name_with_digit'} = {
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
@@ -132,6 +173,9 @@ 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'args'}[0]{
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
 $result_trees{'macro_name_with_digit'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'macro_name_with_digit'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_name_with_hyphen.pl 
b/tp/t/results/macro/macro_name_with_hyphen.pl
index cd8ed4a695..9af72b0e7e 100644
--- a/tp/t/results/macro/macro_name_with_hyphen.pl
+++ b/tp/t/results/macro/macro_name_with_hyphen.pl
@@ -39,6 +39,25 @@ $result_trees{'macro_name_with_hyphen'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -113,6 +132,9 @@ 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'args'}[1]
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'macro_name_with_hyphen'}{'contents'}[0];
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'macro_name_with_hyphen'}{'contents'}[0];
 
$result_trees{'macro_name_with_hyphen'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_name_with_hyphen'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_no_arg_bad_expansion.pl 
b/tp/t/results/macro/macro_no_arg_bad_expansion.pl
index 3971663722..71a108eb6d 100644
--- a/tp/t/results/macro/macro_no_arg_bad_expansion.pl
+++ b/tp/t/results/macro/macro_no_arg_bad_expansion.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_no_arg_bad_expansion'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -75,6 +94,9 @@ $result_trees{'macro_no_arg_bad_expansion'} = {
 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'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]{'contents'}[1]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0];
 
$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_no_arg_expansion.pl 
b/tp/t/results/macro/macro_no_arg_expansion.pl
index 4d79e39b3f..74570a7d85 100644
--- a/tp/t/results/macro/macro_no_arg_expansion.pl
+++ b/tp/t/results/macro/macro_no_arg_expansion.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_no_arg_expansion'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -75,6 +94,9 @@ $result_trees{'macro_no_arg_expansion'} = {
 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'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]{'contents'}[1]{'parent'} 
= $result_trees{'macro_no_arg_expansion'}{'contents'}[0];
 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'macro_no_arg_expansion'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_no_argument.pl 
b/tp/t/results/macro/macro_no_argument.pl
index 4d2cdf6e29..99cf54d553 100644
--- a/tp/t/results/macro/macro_no_argument.pl
+++ b/tp/t/results/macro/macro_no_argument.pl
@@ -33,7 +33,7 @@ $result_trees{'macro_no_argument'} = {
 $result_trees{'macro_no_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_no_argument'}{'contents'}[0];
 $result_trees{'macro_no_argument'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_no_argument'};
 
-$result_texis{'macro_no_argument'} = '@macro@end macro';
+$result_texis{'macro_no_argument'} = '@macro';
 
 
 $result_texts{'macro_no_argument'} = '';
diff --git a/tp/t/results/macro/macro_not_closed.pl 
b/tp/t/results/macro/macro_not_closed.pl
index 9f5d6bcb7a..de75106c85 100644
--- a/tp/t/results/macro/macro_not_closed.pl
+++ b/tp/t/results/macro/macro_not_closed.pl
@@ -51,7 +51,7 @@ $result_trees{'macro_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'macr
 
 $result_texis{'macro_not_closed'} = '@macro name
 in macro
-@end macro';
+';
 
 
 $result_texts{'macro_not_closed'} = '';
diff --git a/tp/t/results/macro/macro_one_arg_end_of_file.pl 
b/tp/t/results/macro/macro_one_arg_end_of_file.pl
index e5814dac51..ee2bbfb4a9 100644
--- a/tp/t/results/macro/macro_one_arg_end_of_file.pl
+++ b/tp/t/results/macro/macro_one_arg_end_of_file.pl
@@ -34,6 +34,25 @@ $result_trees{'macro_one_arg_end_of_file'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -80,6 +99,9 @@ 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'args'}
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0];
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0];
 
$result_trees{'macro_one_arg_end_of_file'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_one_arg_end_of_file'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl 
b/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
index bc261d1663..ad9e76cf42 100644
--- a/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
+++ b/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
@@ -34,6 +34,25 @@ $result_trees{'macro_with_error_at_end_line_after_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -93,6 +112,9 @@ 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'conten
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0];
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0];
 
$result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_with_error_at_end_line_after_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/macro_zero.pl b/tp/t/results/macro/macro_zero.pl
index 4fa535ff03..d7c8ab7f25 100644
--- a/tp/t/results/macro/macro_zero.pl
+++ b/tp/t/results/macro/macro_zero.pl
@@ -29,6 +29,25 @@ $result_trees{'macro_zero'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -80,6 +99,9 @@ $result_trees{'macro_zero'} = {
 $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_zero'}{'contents'}[0];
 $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_zero'}{'contents'}[0];
 $result_trees{'macro_zero'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_zero'}{'contents'}[0];
diff --git a/tp/t/results/macro/nested_macro_call.pl 
b/tp/t/results/macro/nested_macro_call.pl
index 2476a74821..d2c585a18c 100644
--- a/tp/t/results/macro/nested_macro_call.pl
+++ b/tp/t/results/macro/nested_macro_call.pl
@@ -29,6 +29,25 @@ $result_trees{'nested_macro_call'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -80,6 +99,25 @@ $result_trees{'nested_macro_call'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -131,6 +169,9 @@ $result_trees{'nested_macro_call'} = {
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
@@ -138,6 +179,9 @@ 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'par
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[3];
+$result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
 $result_trees{'nested_macro_call'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'nested_macro_call'}{'contents'}[0];
diff --git a/tp/t/results/macro/no_macrobody.pl 
b/tp/t/results/macro/no_macrobody.pl
index 794b1aac2a..4c6147c557 100644
--- a/tp/t/results/macro/no_macrobody.pl
+++ b/tp/t/results/macro/no_macrobody.pl
@@ -23,7 +23,27 @@ $result_trees{'no_macrobody'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' nomacrobody {arg}
 '
@@ -79,6 +99,9 @@ $result_trees{'no_macrobody'} = {
 };
 
$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0];
+$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0];
 $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'no_macrobody'}{'contents'}[0];
 $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'no_macrobody'}{'contents'}[0];
 $result_trees{'no_macrobody'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'no_macrobody'}{'contents'}[0];
diff --git a/tp/t/results/macro/paragraph_and_macro.pl 
b/tp/t/results/macro/paragraph_and_macro.pl
index 7c7a672b94..438f131e85 100644
--- a/tp/t/results/macro/paragraph_and_macro.pl
+++ b/tp/t/results/macro/paragraph_and_macro.pl
@@ -18,7 +18,27 @@ $result_trees{'paragraph_and_macro'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' aempty
 '
@@ -62,6 +82,25 @@ $result_trees{'paragraph_and_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -107,6 +146,25 @@ $result_trees{'paragraph_and_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -226,18 +284,27 @@ $result_trees{'paragraph_and_macro'} = {
   'type' => 'document_root'
 };
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[2];
+$result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
 $result_trees{'paragraph_and_macro'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'paragraph_and_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/protect_comma_macro_line.pl 
b/tp/t/results/macro/protect_comma_macro_line.pl
index 5dc507f908..f53bd45d52 100644
--- a/tp/t/results/macro/protect_comma_macro_line.pl
+++ b/tp/t/results/macro/protect_comma_macro_line.pl
@@ -52,6 +52,25 @@ $result_trees{'protect_comma_macro_line'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -124,6 +143,9 @@ 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'content
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[5];
+$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0];
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0];
 
$result_trees{'protect_comma_macro_line'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_comma_macro_line'}{'contents'}[0];
diff --git a/tp/t/results/macro/protect_in_body.pl 
b/tp/t/results/macro/protect_in_body.pl
index 4519864b75..6d138d970b 100644
--- a/tp/t/results/macro/protect_in_body.pl
+++ b/tp/t/results/macro/protect_in_body.pl
@@ -39,6 +39,25 @@ $result_trees{'protect_in_body'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -157,6 +176,9 @@ 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'paren
 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0];
+$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0];
 $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'protect_in_body'}{'contents'}[0];
 $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'protect_in_body'}{'contents'}[0];
 $result_trees{'protect_in_body'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'protect_in_body'}{'contents'}[0];
diff --git a/tp/t/results/macro/protect_in_body_line_arg.pl 
b/tp/t/results/macro/protect_in_body_line_arg.pl
index 19a6d43472..6979617e45 100644
--- a/tp/t/results/macro/protect_in_body_line_arg.pl
+++ b/tp/t/results/macro/protect_in_body_line_arg.pl
@@ -39,6 +39,25 @@ $result_trees{'protect_in_body_line_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -155,6 +174,9 @@ 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'args'}[
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0];
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0];
 
$result_trees{'protect_in_body_line_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_in_body_line_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/protect_in_body_one_arg.pl 
b/tp/t/results/macro/protect_in_body_one_arg.pl
index cbe93fb557..d6be276461 100644
--- a/tp/t/results/macro/protect_in_body_one_arg.pl
+++ b/tp/t/results/macro/protect_in_body_one_arg.pl
@@ -39,6 +39,25 @@ $result_trees{'protect_in_body_one_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -152,6 +171,9 @@ 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'args'}[1
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0];
+$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0];
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0];
 
$result_trees{'protect_in_body_one_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'protect_in_body_one_arg'}{'contents'}[0];
diff --git a/tp/t/results/macro/recursive_call_in_argument.pl 
b/tp/t/results/macro/recursive_call_in_argument.pl
index 8991726e96..ced254bfd5 100644
--- a/tp/t/results/macro/recursive_call_in_argument.pl
+++ b/tp/t/results/macro/recursive_call_in_argument.pl
@@ -34,6 +34,25 @@ $result_trees{'recursive_call_in_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -81,6 +100,9 @@ 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'args'
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0];
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0];
 
$result_trees{'recursive_call_in_argument'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'recursive_call_in_argument'}{'contents'}[0];
diff --git a/tp/t/results/macro/recursive_call_in_macro.pl 
b/tp/t/results/macro/recursive_call_in_macro.pl
index 31ee592f26..01050b6b1b 100644
--- a/tp/t/results/macro/recursive_call_in_macro.pl
+++ b/tp/t/results/macro/recursive_call_in_macro.pl
@@ -34,6 +34,25 @@ $result_trees{'recursive_call_in_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -76,6 +95,9 @@ 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'args'}[0
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0];
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0];
 
$result_trees{'recursive_call_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'recursive_call_in_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/redefine_texinfo_macro.pl 
b/tp/t/results/macro/redefine_texinfo_macro.pl
index a62a326ca5..867c03b2a1 100644
--- a/tp/t/results/macro/redefine_texinfo_macro.pl
+++ b/tp/t/results/macro/redefine_texinfo_macro.pl
@@ -34,6 +34,25 @@ $result_trees{'redefine_texinfo_macro'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -103,6 +122,9 @@ 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'args'}[0]
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'redefine_texinfo_macro'}{'contents'}[0];
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'redefine_texinfo_macro'}{'contents'}[0];
 
$result_trees{'redefine_texinfo_macro'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'redefine_texinfo_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/simple_imbricated_macro.pl 
b/tp/t/results/macro/simple_imbricated_macro.pl
index 1daf313cf7..843ee15191 100644
--- a/tp/t/results/macro/simple_imbricated_macro.pl
+++ b/tp/t/results/macro/simple_imbricated_macro.pl
@@ -38,6 +38,25 @@ $result_trees{'simple_imbricated_macro'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -51,6 +70,25 @@ $result_trees{'simple_imbricated_macro'} = {
               'text' => '
 ',
               'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -103,6 +141,25 @@ $result_trees{'simple_imbricated_macro'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -154,8 +211,14 @@ 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'args'}[0
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
@@ -163,6 +226,9 @@ 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[2];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
diff --git a/tp/t/results/macro/space_macro_after_end.pl 
b/tp/t/results/macro/space_macro_after_end.pl
index dcd33bdbcf..45f0b1687a 100644
--- a/tp/t/results/macro/space_macro_after_end.pl
+++ b/tp/t/results/macro/space_macro_after_end.pl
@@ -29,6 +29,25 @@ $result_trees{'space_macro_after_end'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -125,6 +144,9 @@ $result_trees{'space_macro_after_end'} = {
 
$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0];
+$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0];
 $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'space_macro_after_end'}{'contents'}[0];
 $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'space_macro_after_end'}{'contents'}[0];
 $result_trees{'space_macro_after_end'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'space_macro_after_end'}{'contents'}[0];
diff --git a/tp/t/results/macro/space_macro_after_end_verbatim.pl 
b/tp/t/results/macro/space_macro_after_end_verbatim.pl
index 1ae29ee507..cb3240a771 100644
--- a/tp/t/results/macro/space_macro_after_end_verbatim.pl
+++ b/tp/t/results/macro/space_macro_after_end_verbatim.pl
@@ -29,6 +29,25 @@ $result_trees{'space_macro_after_end_verbatim'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -71,6 +90,25 @@ $result_trees{'space_macro_after_end_verbatim'} = {
               'text' => 'in verbatim
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -95,12 +133,18 @@ $result_trees{'space_macro_after_end_verbatim'} = {
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0];
 $result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'parent'} = 
$result_trees{'space_macro_after_end_verbatim'};
diff --git a/tp/t/results/macro/text_before_after.pl 
b/tp/t/results/macro/text_before_after.pl
index d3202a1dab..eaba8735ac 100644
--- a/tp/t/results/macro/text_before_after.pl
+++ b/tp/t/results/macro/text_before_after.pl
@@ -35,6 +35,25 @@ $result_trees{'text_before_after'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -73,6 +92,9 @@ 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'text_before_after'}{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/macro/too_much_args.pl 
b/tp/t/results/macro/too_much_args.pl
index e838a864bd..8cb61898a2 100644
--- a/tp/t/results/macro/too_much_args.pl
+++ b/tp/t/results/macro/too_much_args.pl
@@ -45,6 +45,25 @@ $result_trees{'too_much_args'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -99,6 +118,9 @@ 
$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'
 
$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
 $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'too_much_args'}{'contents'}[0];
 $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'too_much_args'}{'contents'}[0];
 $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'too_much_args'}{'contents'}[0];
diff --git a/tp/t/results/macro/two_macros_on_a_line.pl 
b/tp/t/results/macro/two_macros_on_a_line.pl
index 84942951df..9fe19b3d93 100644
--- a/tp/t/results/macro/two_macros_on_a_line.pl
+++ b/tp/t/results/macro/two_macros_on_a_line.pl
@@ -29,6 +29,25 @@ $result_trees{'two_macros_on_a_line'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -91,6 +110,25 @@ $result_trees{'two_macros_on_a_line'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -330,6 +368,9 @@ $result_trees{'two_macros_on_a_line'} = {
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
@@ -339,6 +380,9 @@ 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[4];
+$result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
 $result_trees{'two_macros_on_a_line'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'two_macros_on_a_line'}{'contents'}[0];
diff --git a/tp/t/results/macro/zero_argument.pl 
b/tp/t/results/macro/zero_argument.pl
index 1a42c7eb75..083ea43778 100644
--- a/tp/t/results/macro/zero_argument.pl
+++ b/tp/t/results/macro/zero_argument.pl
@@ -29,6 +29,25 @@ $result_trees{'zero_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -74,6 +93,25 @@ $result_trees{'zero_argument'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -102,12 +140,18 @@ $result_trees{'zero_argument'} = {
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0];
 $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'zero_argument'}{'contents'}[0];
 $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'zero_argument'}{'contents'}[0];
 $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'zero_argument'}{'contents'}[0];
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3];
 $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'zero_argument'}{'contents'}[0];
 $result_trees{'zero_argument'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'zero_argument'}{'contents'}[0];
 $result_trees{'zero_argument'}{'contents'}[0]{'parent'} = 
$result_trees{'zero_argument'};
diff --git a/tp/t/results/menu/block_commands_in_menu_description.pl 
b/tp/t/results/menu/block_commands_in_menu_description.pl
index 5c0a11b111..80a6753415 100644
--- a/tp/t/results/menu/block_commands_in_menu_description.pl
+++ b/tp/t/results/menu/block_commands_in_menu_description.pl
@@ -497,6 +497,25 @@ $result_trees{'block_commands_in_menu_description'} = {
                           'text' => '
 ',
                           'type' => 'raw'
+                        },
+                        {
+                          'args' => [
+                            {
+                              'contents' => [
+                                {
+                                  'parent' => {},
+                                  'text' => 'verbatim'
+                                }
+                              ],
+                              'parent' => {},
+                              'type' => 'line_arg'
+                            }
+                          ],
+                          'cmdname' => 'end',
+                          'extra' => {
+                            'spaces_before_argument' => ' '
+                          },
+                          'parent' => {}
                         }
                       ],
                       'parent' => {},
@@ -649,6 +668,9 @@ 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[1]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4];
+$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[2];
+$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[2]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[5]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0];
@@ -889,7 +911,7 @@ Text.
 &lt;b&gt; in html &lt;/b&gt;
 
 </html>
-</pre><verbatim xml:space="preserve">
+</pre><verbatim xml:space="preserve" endspaces=" ">
 
 </verbatim>
 </menudescription></menuentry></menu>
diff --git a/tp/t/results/menu/formats_in_menu.pl 
b/tp/t/results/menu/formats_in_menu.pl
index e17efed564..9396e27022 100644
--- a/tp/t/results/menu/formats_in_menu.pl
+++ b/tp/t/results/menu/formats_in_menu.pl
@@ -323,6 +323,25 @@ $result_trees{'formats_in_menu'} = {
                           'text' => '* texinfo:: in @ verbatim
 ',
                           'type' => 'raw'
+                        },
+                        {
+                          'args' => [
+                            {
+                              'contents' => [
+                                {
+                                  'parent' => {},
+                                  'text' => 'verbatim'
+                                }
+                              ],
+                              'parent' => {},
+                              'type' => 'line_arg'
+                            }
+                          ],
+                          'cmdname' => 'end',
+                          'extra' => {
+                            'spaces_before_argument' => ' '
+                          },
+                          'parent' => {}
                         }
                       ],
                       'parent' => {},
@@ -799,6 +818,9 @@ 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'a
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1];
+$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[3]{'args'}[0];
+$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[3];
+$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[3]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3];
@@ -1074,7 +1096,7 @@ $result_converted{'xml'}->{'formats_in_menu'} = '<node 
name="Top" spaces=" "><no
 </pre></tableitem></tableentry></table>
 </menudescription></menuentry><menucomment><pre xml:space="preserve">
 </pre></menucomment><menuentry leadingtext="* "><menunode 
separator="::">(info)</menunode><menudescription><pre xml:space="preserve">
-</pre><verbatim xml:space="preserve">
+</pre><verbatim xml:space="preserve" endspaces=" ">
 some @ verb{x atim
 * texinfo:: in @ verbatim
 </verbatim>
diff --git 
a/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl 
b/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
index 7b68c2384e..27e0a7a57f 100644
--- a/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
+++ b/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
@@ -61,6 +61,25 @@ $result_trees{'codequoteundirected_codequotebacktick'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -202,6 +221,25 @@ $result_trees{'codequoteundirected_codequotebacktick'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -4295,6 +4333,9 @@ 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[6]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[7];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[7]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
@@ -4317,6 +4358,9 @@ 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[15]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[16]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[17]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[18]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[18]{'args'}[0];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[18]{'args'}[0]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[18];
+$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[18]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = 
$result_trees{'codequoteundirected_codequotebacktick'}{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/misc_commands/kbdinputstyle.pl 
b/tp/t/results/misc_commands/kbdinputstyle.pl
index ba7a9be37b..c9712b554c 100644
--- a/tp/t/results/misc_commands/kbdinputstyle.pl
+++ b/tp/t/results/misc_commands/kbdinputstyle.pl
@@ -95,6 +95,25 @@ $result_trees{'kbdinputstyle'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1782,6 +1801,9 @@ 
$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[9]{'par
 
$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0];
+$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0];
+$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'}
 = $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[13];
+$result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'parent'}
 = $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0];
 $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'kbdinputstyle'}{'contents'}[0];
 $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'kbdinputstyle'}{'contents'}[0];
 $result_trees{'kbdinputstyle'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'kbdinputstyle'}{'contents'}[0];
diff --git a/tp/t/results/misc_commands/kbdinputstyle_in_table.pl 
b/tp/t/results/misc_commands/kbdinputstyle_in_table.pl
index 98bf0bef80..039291a796 100644
--- a/tp/t/results/misc_commands/kbdinputstyle_in_table.pl
+++ b/tp/t/results/misc_commands/kbdinputstyle_in_table.pl
@@ -125,6 +125,25 @@ $result_trees{'kbdinputstyle_in_table'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1934,6 +1953,9 @@ 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[15]{'parent'}
 = $result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[16]{'parent'}
 = $result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[17]{'parent'}
 = $result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0];
+$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'args'}[0];
+$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'args'}[0]{'parent'}
 = 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[18];
+$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'parent'}
 = $result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'kbdinputstyle_in_table'}{'contents'}[0];
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'kbdinputstyle_in_table'}{'contents'}[0];
 
$result_trees{'kbdinputstyle_in_table'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'kbdinputstyle_in_table'}{'contents'}[0];
diff --git a/tp/t/results/misc_commands/test_allowcodebreaks.pl 
b/tp/t/results/misc_commands/test_allowcodebreaks.pl
index 4c1213fec7..9cff5a2c31 100644
--- a/tp/t/results/misc_commands/test_allowcodebreaks.pl
+++ b/tp/t/results/misc_commands/test_allowcodebreaks.pl
@@ -98,6 +98,25 @@ $result_trees{'test_allowcodebreaks'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -161,6 +180,25 @@ $result_trees{'test_allowcodebreaks'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2251,6 +2289,9 @@ 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'parent'}
 = 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[7];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[1]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[2]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[3]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
@@ -2260,6 +2301,9 @@ 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4];
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[3]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4];
 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[4]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[5]{'args'}[0];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[5];
+$result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'contents'}[5]{'parent'}
 = $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[4]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[5]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
 $result_trees{'test_allowcodebreaks'}{'contents'}[1]{'contents'}[6]{'parent'} 
= $result_trees{'test_allowcodebreaks'}{'contents'}[1];
diff --git a/tp/t/results/plaintext_tests/star_at_command_formatting.pl 
b/tp/t/results/plaintext_tests/star_at_command_formatting.pl
index c74a4d7ea5..9cc58ce756 100644
--- a/tp/t/results/plaintext_tests/star_at_command_formatting.pl
+++ b/tp/t/results/plaintext_tests/star_at_command_formatting.pl
@@ -95,6 +95,25 @@ $result_trees{'star_at_command_formatting'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -1114,6 +1133,9 @@ 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'conte
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0];
+$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0];
+$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'}
 = 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[13];
+$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'contents'}[13]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0];
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0];
 
$result_trees{'star_at_command_formatting'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'star_at_command_formatting'}{'contents'}[0];
diff --git a/tp/t/results/raw/misc_raw.pl b/tp/t/results/raw/misc_raw.pl
index beb5abe424..913822ec85 100644
--- a/tp/t/results/raw/misc_raw.pl
+++ b/tp/t/results/raw/misc_raw.pl
@@ -170,6 +170,25 @@ $result_trees{'misc_raw'} = {
               'text' => 'in verbatim2
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -212,6 +231,9 @@ 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{
 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
+$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0];
+$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[3];
+$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
 $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[0];
 $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[0];
 $result_trees{'misc_raw'}{'contents'}[0]{'parent'} = $result_trees{'misc_raw'};
diff --git a/tp/t/results/raw/misc_raw_comments.pl 
b/tp/t/results/raw/misc_raw_comments.pl
index 131cc78439..a77443b840 100644
--- a/tp/t/results/raw/misc_raw_comments.pl
+++ b/tp/t/results/raw/misc_raw_comments.pl
@@ -222,6 +222,25 @@ $result_trees{'misc_raw_comments'} = {
               'text' => 'in verbatim2
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -270,6 +289,9 @@ 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{
 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0];
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[3];
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
 $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[0];
 $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[0];
 $result_trees{'misc_raw_comments'}{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'};
diff --git a/tp/t/results/raw/nested_macros.pl 
b/tp/t/results/raw/nested_macros.pl
index 772f4a556a..dbb29bcb97 100644
--- a/tp/t/results/raw/nested_macros.pl
+++ b/tp/t/results/raw/nested_macros.pl
@@ -48,6 +48,25 @@ $result_trees{'nested_macros'} = {
                   'text' => '
 ',
                   'type' => 'last_raw_newline'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -64,7 +83,27 @@ $result_trees{'nested_macros'} = {
             },
             {
               'cmdname' => 'macro',
-              'contents' => [],
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'macro'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
+                }
+              ],
               'extra' => {
                 'arg_line' => '
 '
@@ -76,6 +115,25 @@ $result_trees{'nested_macros'} = {
               'text' => '
 ',
               'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -108,10 +166,19 @@ 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[5];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0];
 $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
 $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
 $result_trees{'nested_macros'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_macros'};
diff --git a/tp/t/results/raw/raw_commands_and_end_of_lines.pl 
b/tp/t/results/raw/raw_commands_and_end_of_lines.pl
index dc354b531e..0dc38e3af2 100644
--- a/tp/t/results/raw/raw_commands_and_end_of_lines.pl
+++ b/tp/t/results/raw/raw_commands_and_end_of_lines.pl
@@ -985,6 +985,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'Surrounded by empty lines.
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1034,6 +1053,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'in block
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1093,6 +1131,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'in block
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1152,6 +1209,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'in block
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1210,6 +1286,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'in block
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1269,6 +1364,25 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
               'text' => 'in block
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1423,6 +1537,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[24]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[26]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[27]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
@@ -1431,6 +1548,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[29]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[30]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[31]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[31];
@@ -1441,6 +1561,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[33]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[34]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[35]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36];
@@ -1451,6 +1574,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[38]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[40]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[41]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[41];
@@ -1461,6 +1587,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[44]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[45]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[46]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[46];
@@ -1471,6 +1600,9 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[48]{'p
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[2];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[49]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[50]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[50];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[50]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
diff --git a/tp/t/results/raw/raw_in_para.pl b/tp/t/results/raw/raw_in_para.pl
index 8cb55c1eef..bd053536eb 100644
--- a/tp/t/results/raw/raw_in_para.pl
+++ b/tp/t/results/raw/raw_in_para.pl
@@ -37,6 +37,25 @@ $result_trees{'raw_in_para'} = {
               'text' => 'in verbatim
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -255,6 +274,9 @@ 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[0]{'parent'} = $result_t
 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1];
+$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1];
 $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'raw_in_para'}{'contents'}[0];
 $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'raw_in_para'}{'contents'}[0];
 $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'raw_in_para'}{'contents'}[0];
diff --git a/tp/t/results/raw/verbatim_and_verbatiminclude.pl 
b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
index 4c8303a08c..e8873bf237 100644
--- a/tp/t/results/raw/verbatim_and_verbatiminclude.pl
+++ b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
@@ -26,6 +26,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'text' => 'In verbatim                @@                        
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa       bbbbbbbbbbbbbb
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -75,6 +94,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'text' => 'in verbatime
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -155,6 +193,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
                   'text' => 'In verbatim                @@                     
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa       bbbbbbbbbbbbbb
 ',
                   'type' => 'raw'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'verbatim'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'parent' => {},
@@ -241,6 +298,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'text' => 'In verbatim test text
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -519,6 +595,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
                   'text' => 'In verbatim                @@                     
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa       bbbbbbbbbbbbbb
 ',
                   'type' => 'raw'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'verbatim'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'parent' => {},
@@ -643,6 +738,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
                   'text' => 'In verbatim                @@                     
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa       bbbbbbbbbbbbbb
 ',
                   'type' => 'raw'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'verbatim'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'parent' => {},
@@ -755,6 +869,25 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
                   'text' => 'In verbatim in quotation
 ',
                   'type' => 'raw'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'verbatim'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {}
                 }
               ],
               'parent' => {},
@@ -828,6 +961,9 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
@@ -836,6 +972,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'par
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6];
@@ -848,6 +987,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'con
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[3]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[3];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'args'}[0];
@@ -860,6 +1002,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[10]{'pa
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[13]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[13];
@@ -896,6 +1041,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'co
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[3]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[3];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[23]{'contents'}[3];
@@ -913,6 +1061,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'co
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[3]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[3];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25]{'contents'}[4]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[25];
@@ -928,6 +1079,9 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'co
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[27]{'contents'}[4];
diff --git a/tp/t/results/raw/verbatim_in_brace_command.pl 
b/tp/t/results/raw/verbatim_in_brace_command.pl
index 717d3b1140..97e4346f26 100644
--- a/tp/t/results/raw/verbatim_in_brace_command.pl
+++ b/tp/t/results/raw/verbatim_in_brace_command.pl
@@ -55,6 +55,25 @@ $result_trees{'verbatim_in_brace_command'} = {
               'text' => 'in verbatim
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -89,6 +108,9 @@ 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'parent
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1];
+$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0];
diff --git a/tp/t/results/raw/verbatim_not_closed.pl 
b/tp/t/results/raw/verbatim_not_closed.pl
index 07d031ec9e..33ea1079fc 100644
--- a/tp/t/results/raw/verbatim_not_closed.pl
+++ b/tp/t/results/raw/verbatim_not_closed.pl
@@ -82,7 +82,7 @@ some verbatim @
 
 @macro
 
-@end verbatim';
+';
 
 
 $result_texts{'verbatim_not_closed'} = '
diff --git a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl 
b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
index e8b8681a64..a6bcccb842 100644
--- a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
+++ b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
@@ -69,6 +69,25 @@ $result_trees{'comma_value_in_macro_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -168,6 +187,9 @@ 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'args'}[
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'args'}[2]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0];
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0];
 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[0];
diff --git a/tp/t/results/value_and_macro/macro_in_value.pl 
b/tp/t/results/value_and_macro/macro_in_value.pl
index fe2029bc79..7effc39b4c 100644
--- a/tp/t/results/value_and_macro/macro_in_value.pl
+++ b/tp/t/results/value_and_macro/macro_in_value.pl
@@ -41,6 +41,25 @@ $result_trees{'macro_in_value'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -136,6 +155,9 @@ 
$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'pa
 
$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'macro_in_value'}{'contents'}[0]{'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];
diff --git a/tp/t/results/value_and_macro/value_in_macro_body.pl 
b/tp/t/results/value_and_macro/value_in_macro_body.pl
index 048973a1f8..6e3aa8e523 100644
--- a/tp/t/results/value_and_macro/value_in_macro_body.pl
+++ b/tp/t/results/value_and_macro/value_in_macro_body.pl
@@ -64,6 +64,25 @@ $result_trees{'value_in_macro_body'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -141,6 +160,9 @@ 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'p
 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2];
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2];
 $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[0];
 $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[0];
 $result_trees{'value_in_macro_body'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[0];
diff --git a/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl 
b/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
index 59f216ea9a..83e1b00b4f 100644
--- a/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
+++ b/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
@@ -69,6 +69,25 @@ $result_trees{'value_in_macro_formal_arg'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -122,6 +141,9 @@ 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'args'}
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'args'}[2]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0];
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0];
 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[0];
diff --git a/tp/t/results/xml_tests/commands_and_spaces.pl 
b/tp/t/results/xml_tests/commands_and_spaces.pl
index e7dd52002b..22f960843b 100644
--- a/tp/t/results/xml_tests/commands_and_spaces.pl
+++ b/tp/t/results/xml_tests/commands_and_spaces.pl
@@ -1095,6 +1095,25 @@ $result_trees{'commands_and_spaces'} = {
               'text' => 'in verbatim @g 
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -1964,6 +1983,9 @@ 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'parent'} =
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[0]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[1]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[2]{'args'}[0];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[2];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'contents'}[2]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[29]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[30]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[31]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
@@ -2316,7 +2338,7 @@ $result_converted{'xml'}->{'commands_and_spaces'} = '<set 
name="foo" line="  foo
 <multitable spaces="  " endspaces=" "><columnprototypes><columnprototype 
bracketed="on">aa b</columnprototype>  <columnprototype bracketed="on" spaces=" 
">r </columnprototype>  
<columnprototype><var>cmd</var></columnprototype><columnprototype>gg</columnprototype>
 <columnprototype>hh</columnprototype> 
<columnprototype>j</columnprototype></columnprototypes>
 </multitable>
 
-<verbatim xml:space="preserve">  
+<verbatim xml:space="preserve" endspaces=" ">  
 in verbatim @g 
 </verbatim> 
 
diff --git a/tp/t/results/xml_tests/macro_and_args.pl 
b/tp/t/results/xml_tests/macro_and_args.pl
index c2ef84d4ec..e198aa1d87 100644
--- a/tp/t/results/xml_tests/macro_and_args.pl
+++ b/tp/t/results/xml_tests/macro_and_args.pl
@@ -28,7 +28,27 @@ $result_trees{'macro_and_args'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' good { aaa, 2b-bb}
 '
@@ -76,7 +96,27 @@ $result_trees{'macro_and_args'} = {
             }
           ],
           'cmdname' => 'macro',
-          'contents' => [],
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
+            }
+          ],
           'extra' => {
             'arg_line' => ' bad { ggg"@@^_ ff, nnn_b, ccc v}
 ',
@@ -105,6 +145,9 @@ $result_trees{'macro_and_args'} = {
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0];
 $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_and_args'}{'contents'}[0];
 $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_and_args'}{'contents'}[0];
 $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_and_args'}{'contents'}[0];
@@ -112,6 +155,9 @@ 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'args'}[2]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'args'}[3]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3];
 $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_and_args'}{'contents'}[0];
 $result_trees{'macro_and_args'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_and_args'}{'contents'}[0];
 $result_trees{'macro_and_args'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_and_args'};
@@ -153,9 +199,9 @@ $result_floats{'macro_and_args'} = {};
 
 
 
-$result_converted{'xml'}->{'macro_and_args'} = '<macro name="good" line=" good 
{ aaa, 2b-bb}"><formalarg>aaa</formalarg><formalarg>2b-bb</formalarg></macro>
+$result_converted{'xml'}->{'macro_and_args'} = '<macro name="good" line=" good 
{ aaa, 2b-bb}" endspaces=" 
"><formalarg>aaa</formalarg><formalarg>2b-bb</formalarg></macro>
 
-<macro name="bad" line=" bad { ggg&quot;@@^_ ff, nnn_b, ccc 
v}"><formalarg>ggg&quot;@@^_ 
ff</formalarg><formalarg>nnn_b</formalarg><formalarg>ccc v</formalarg></macro>
+<macro name="bad" line=" bad { ggg&quot;@@^_ ff, nnn_b, ccc v}" endspaces=" 
"><formalarg>ggg&quot;@@^_ 
ff</formalarg><formalarg>nnn_b</formalarg><formalarg>ccc v</formalarg></macro>
 ';
 
 1;
diff --git a/tp/t/results/xml_tests/spaces_info_lost.pl 
b/tp/t/results/xml_tests/spaces_info_lost.pl
index c09c46258c..3991465d7e 100644
--- a/tp/t/results/xml_tests/spaces_info_lost.pl
+++ b/tp/t/results/xml_tests/spaces_info_lost.pl
@@ -102,6 +102,25 @@ $result_trees{'spaces_info_lost'} = {
               'text' => 'in verbatim @g 
 ',
               'type' => 'raw'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'verbatim'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => '  '
+              },
+              'parent' => {}
             }
           ],
           'parent' => {},
@@ -136,6 +155,9 @@ 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[1]{'parent'} = $res
 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2];
+$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2];
 $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'spaces_info_lost'}{'contents'}[0];
 $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'spaces_info_lost'}{'contents'}[0];
 $result_trees{'spaces_info_lost'}{'contents'}[0]{'parent'} = 
$result_trees{'spaces_info_lost'};
@@ -146,7 +168,7 @@ in bad display
 
 @verbatim  
 in verbatim @g 
-@end verbatim 
+@end  verbatim 
 ';
 
 
@@ -166,7 +188,7 @@ $result_converted{'xml'}->{'spaces_info_lost'} = '<display 
spaces="  " endspaces
 <pre xml:space="preserve">in bad display
 </pre></display> 
 
-<verbatim xml:space="preserve">  
+<verbatim xml:space="preserve" endspaces="  ">  
 in verbatim @g 
 </verbatim> 
 ';
diff --git a/tp/t/results/xtable/table_nested.pl 
b/tp/t/results/xtable/table_nested.pl
index 8c6bdda5db..6d11ab18f7 100644
--- a/tp/t/results/xtable/table_nested.pl
+++ b/tp/t/results/xtable/table_nested.pl
@@ -149,6 +149,25 @@ $result_trees{'table_nested'} = {
               'text' => '
 ',
               'type' => 'last_raw_newline'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'macro'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {}
             }
           ],
           'extra' => {
@@ -2031,6 +2050,9 @@ 
$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'par
 
$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[19]{'parent'}
 = $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[20]{'parent'}
 = $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[21]{'parent'}
 = $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0];
+$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[22]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[22]{'args'}[0];
+$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[22]{'args'}[0]{'parent'}
 = $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[22];
+$result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'contents'}[22]{'parent'}
 = $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0];
 $result_trees{'table_nested'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'table_nested'}{'contents'}[0];
 $result_trees{'table_nested'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'table_nested'}{'contents'}[0];
 $result_trees{'table_nested'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'table_nested'}{'contents'}[0];
@@ -2739,7 +2761,7 @@ Something.
 ';
 
 
-$result_converted{'xml'}->{'table_nested'} = '<macro name="myvtable" line=" 
myvtable">@vtable @asis
+$result_converted{'xml'}->{'table_nested'} = '<macro name="myvtable" line=" 
myvtable" endspaces=" ">@vtable @asis
 @item first item
 @itemx second itemx
 
diff --git a/tp/tests/layout/res_parser/formatting_xml/formatting.xml 
b/tp/tests/layout/res_parser/formatting_xml/formatting.xml
index 9df19e4beb..54cbc1d2cc 100644
--- a/tp/tests/layout/res_parser/formatting_xml/formatting.xml
+++ b/tp/tests/layout/res_parser/formatting_xml/formatting.xml
@@ -19,7 +19,7 @@
 <defindex value="truc" line="truc"></defindex>
 <defcodeindex value="codeidx" line="codeidx"></defcodeindex>
 
-<macro name="mymacro" line=" mymacro">
+<macro name="mymacro" line=" mymacro" endspaces=" ">
 &lt;
 &gt;
 &quot;
@@ -1427,7 +1427,7 @@ After clickstyle &result;
 <!-- c  Missing $ inserted. -->
 <!-- c Therefore, if inexample is set, condition on valid.  Not that -->
 <!-- c This type of nesting may not be valid. -->
-<ignore>
+<ignore endspaces=" ">
 in the displaymath below, as in math, backslash are doubled because 
 we are in a macro.
 </ignore>
@@ -2103,7 +2103,7 @@ more text
 
 <verbatiminclude file="simplest.texi" spaces=" 
">simplest.texi</verbatiminclude>
 
-<verbatim xml:space="preserve">
+<verbatim xml:space="preserve" endspaces=" ">
 in verbatim ''
 </verbatim>
 
@@ -2566,7 +2566,7 @@ After clickstyle &result;
 <!-- c  Missing $ inserted. -->
 <!-- c Therefore, if inexample is set, condition on valid.  Not that -->
 <!-- c This type of nesting may not be valid. -->
-<ignore>
+<ignore endspaces=" ">
 in the displaymath below, as in math, backslash are doubled because 
 we are in a macro.
 </ignore>
@@ -3242,7 +3242,7 @@ more text
 
 <verbatiminclude file="simplest.texi" spaces=" 
">simplest.texi</verbatiminclude>
 
-<verbatim xml:space="preserve">
+<verbatim xml:space="preserve" endspaces=" ">
 in verbatim ''
 </verbatim>
 
@@ -3732,7 +3732,7 @@ After clickstyle &result;
 <!-- c  Missing $ inserted. -->
 <!-- c Therefore, if inexample is set, condition on valid.  Not that -->
 <!-- c This type of nesting may not be valid. -->
-<ignore>
+<ignore endspaces=" ">
 in the displaymath below, as in math, backslash are doubled because 
 we are in a macro.
 </ignore>
@@ -4408,7 +4408,7 @@ more text
 
 <verbatiminclude file="simplest.texi" spaces=" 
">simplest.texi</verbatiminclude>
 
-<verbatim xml:space="preserve">
+<verbatim xml:space="preserve" endspaces=" ">
 in verbatim ''
 </verbatim>
 
@@ -4866,7 +4866,7 @@ After clickstyle &result;
 <!-- c  Missing $ inserted. -->
 <!-- c Therefore, if inexample is set, condition on valid.  Not that -->
 <!-- c This type of nesting may not be valid. -->
-<ignore>
+<ignore endspaces=" ">
 in the displaymath below, as in math, backslash are doubled because 
 we are in a macro.
 </ignore>
@@ -5542,7 +5542,7 @@ more text
 <pre xml:space="preserve">
 </pre><verbatiminclude file="simplest.texi" spaces=" 
">simplest.texi</verbatiminclude>
 <pre xml:space="preserve">
-</pre><verbatim xml:space="preserve">
+</pre><verbatim xml:space="preserve" endspaces=" ">
 in verbatim ''
 </verbatim>
 <pre xml:space="preserve">



reply via email to

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