texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: Handle macro, verbatim and ignore line like other


From: Patrice Dumas
Subject: branch master updated: Handle macro, verbatim and ignore line like other block commands
Date: Fri, 09 Sep 2022 08:50:43 -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 9c9ac21cbe Handle macro, verbatim and ignore line like other block 
commands
9c9ac21cbe is described below

commit 9c9ac21cbe1de3b8855b0d3d7a98aa1d476a1580
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Sep 9 14:50:31 2022 +0200

    Handle macro, verbatim and ignore line like other block commands
    
    * tp/Texinfo/ParserNonXS.pm (_end_line, _parse_texi),
    tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
    tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command),
    tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line):
    do not make any difference among brace commands for line parsing.
    Never start a preformatted after a 'raw' macro, verbatim and ignore
    command line.
---
 ChangeLog                                          |  12 ++
 tp/Texinfo/ParserNonXS.pm                          | 155 +++++++++---------
 tp/Texinfo/XS/parsetexi/end_line.c                 |   3 +-
 tp/Texinfo/XS/parsetexi/handle_commands.c          | 177 ++++++++++-----------
 tp/Texinfo/XS/parsetexi/parser.c                   |  20 +--
 .../conditionals/empty_ifset_in_ifset_set.pl       |  23 +--
 tp/t/results/conditionals/end_ifset_in_format.pl   |  46 +++---
 tp/t/results/conditionals/ignore_not_closed.pl     |  19 +--
 tp/t/results/conditionals/nested_ignore.pl         |  69 ++++----
 tp/t/results/coverage/symbol_after_block.pl        |  48 +++---
 .../verbatim_in_multitable_in_example.pl           |  23 +--
 tp/t/results/html_tests/xml_protected_in_verb.pl   |  23 +--
 tp/t/results/include/cpp_lines.pl                  |  23 +--
 tp/t/results/invalid_nestings/ignore_in_xref.pl    |  23 +--
 tp/t/results/invalid_nestings/verbatim_in_ref.pl   |  23 +--
 .../results/latex_tests/verbatim_in_smallformat.pl |  23 +--
 tp/t/results/macro/complex_argument.pl             |  46 +++---
 tp/t/results/macro/macro_expansion.pl              | 138 ++++++++--------
 .../macro/space_macro_after_end_verbatim.pl        |  23 +--
 .../menu/block_commands_in_menu_description.pl     |  23 +--
 tp/t/results/menu/formats_in_menu.pl               |  23 +--
 tp/t/results/raw/misc_raw.pl                       |  23 +--
 tp/t/results/raw/misc_raw_comments.pl              |  23 +--
 tp/t/results/raw/raw_commands_and_end_of_lines.pl  | 138 ++++++++--------
 tp/t/results/raw/raw_in_para.pl                    |  23 +--
 tp/t/results/raw/verbatim_and_verbatiminclude.pl   | 161 ++++++++++---------
 tp/t/results/raw/verbatim_in_brace_command.pl      |  23 +--
 tp/t/results/raw/verbatim_not_closed.pl            |  19 +--
 tp/t/results/xml_tests/commands_and_spaces.pl      |  23 +--
 tp/t/results/xml_tests/spaces_info_lost.pl         |  23 +--
 30 files changed, 725 insertions(+), 694 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1d4cda6a2a..fb944b39fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2022-09-09  Patrice Dumas  <pertusus@free.fr>
+
+       Handle macro, verbatim and ignore line like other block commands
+
+       * tp/Texinfo/ParserNonXS.pm (_end_line, _parse_texi),
+       tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
+       tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command),
+       tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line):
+       do not make any difference among brace commands for line parsing.
+       Never start a preformatted after a 'raw' macro, verbatim and ignore
+       command line.
+
 2022-09-09  Patrice Dumas  <pertusus@free.fr>
 
        Handle indent and noindent like other commands for following spaces
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 843a86c93a..4b30f772bb 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -370,12 +370,9 @@ foreach my $not_begin_line_command ('comment', 'c', 'sp', 
'columnfractions',
   delete $begin_line_commands{$not_begin_line_command};
 }
 
-my %block_arg_commands;
 foreach my $block_command (keys(%block_commands)) {
   $begin_line_commands{$block_command} = 1;
   $default_no_paragraph_commands{$block_command} = 1;
-  $block_arg_commands{$block_command} = 1
-    if ($block_commands{$block_command} ne 'raw');
 }
 
 my %close_preformatted_commands = %close_paragraph_commands;
@@ -3240,7 +3237,9 @@ sub _end_line($$$)
             'parent' => $current };
       $current = $current->{'contents'}->[-1];
     }
-    $current = _begin_preformatted($self, $current);
+    $current = _begin_preformatted($self, $current)
+      unless ($current->{'cmdname'}
+              and $block_commands{$current->{'cmdname'}} eq 'raw');
 
   # misc command line arguments
   # Never go here if skipline/noarg/...
@@ -4083,17 +4082,8 @@ sub _parse_texi($$$)
             $current = $end->{'args'}->[0];
           }
         } else {
-          # TODO handle 'raw' @-commands line as other @-commands
-          if (@{$current->{'contents'}}
-              and $current->{'contents'}->[-1]->{'type'}
-              and $current->{'contents'}->[-1]->{'type'} eq 
'empty_line_after_command'
-              and $current->{'contents'}->[-1]->{'text'} !~ /\n/
-              and $line !~ /\S/) {
-            $current->{'contents'}->[-1]->{'text'} .= $line;
-          } else {
-            push @{$current->{'contents'}},
-              { 'text' => $line, 'type' => 'raw', 'parent' => $current };
-          }
+          push @{$current->{'contents'}},
+            { 'text' => $line, 'type' => 'raw', 'parent' => $current };
           last;
         }
       # in @verb. type should be 'brace_command_arg'
@@ -5122,85 +5112,82 @@ sub _parse_texi($$$)
             }
             $current = $current->{'contents'}->[-1];
 
-            if ($block_arg_commands{$command}) {
-              if ($preformatted_commands{$command}) {
-                $self->_push_context('ct_preformatted', $command);
-              } elsif ($math_commands{$command}) {
-                $self->_push_context('ct_math', $command);
-              } elsif ($format_raw_commands{$command}) {
-                $self->_push_context('ct_rawpreformatted', $command);
-                if (not $self->{'expanded_formats_hash'}->{$command}) {
-                  push @{$current->{'contents'}}, {
-                    'parent' => $current,
-                    'type' => 'elided_block',
-                    'contents' => []
-                  };
-                  while (not $line =~ /^\s*\@end\s+$command/) {
-                    ($line, $source_info) = _new_line($self, $source_info);
-                    if (!$line) {
-                      # unclosed block
-                      $line = '';
-                      last;
-                    }
+            if ($preformatted_commands{$command}) {
+              $self->_push_context('ct_preformatted', $command);
+            } elsif ($math_commands{$command}) {
+              $self->_push_context('ct_math', $command);
+            } elsif ($format_raw_commands{$command}) {
+              $self->_push_context('ct_rawpreformatted', $command);
+              if (not $self->{'expanded_formats_hash'}->{$command}) {
+                push @{$current->{'contents'}}, {
+                  'parent' => $current,
+                  'type' => 'elided_block',
+                  'contents' => []
+                };
+                while (not $line =~ /^\s*\@end\s+$command/) {
+                  ($line, $source_info) = _new_line($self, $source_info);
+                  if (!$line) {
+                    # unclosed block
+                    $line = '';
+                    last;
                   }
-                  push @{$current->{'contents'}},
-                                     { 'type' => 'empty_line_after_command',
-                                       'text' => "\n",
-                                       'parent' => $current };
-                  push @{$current->{'contents'}}, { 'type' => 'empty_line',
-                                                    'text' => '',
-                                                    'parent' => $current };
-                  next;
                 }
+                push @{$current->{'contents'}},
+                                   { 'type' => 'empty_line_after_command',
+                                     'text' => "\n",
+                                     'parent' => $current };
+                push @{$current->{'contents'}}, { 'type' => 'empty_line',
+                                                  'text' => '',
+                                                  'parent' => $current };
+                next;
               }
-              if ($region_commands{$command}) {
-                if (@{$self->{'regions_stack'}}) {
-                  $self->_line_error(
-              sprintf(__("region %s inside region %s is not allowed"),
-                      $command, $self->{'regions_stack'}->[-1]->{'cmdname'}),
-                                    $source_info);
-                }
-                push @{$self->{'regions_stack'}}, $block;
+            }
+            if ($region_commands{$command}) {
+              if (@{$self->{'regions_stack'}}) {
+                $self->_line_error(
+            sprintf(__("region %s inside region %s is not allowed"),
+                    $command, $self->{'regions_stack'}->[-1]->{'cmdname'}),
+                                  $source_info);
               }
-              if ($menu_commands{$command}) {
-                $self->_push_context('ct_preformatted', $command);
-                push @{$self->{'info'}->{'dircategory_direntry'}}, $block
-                  if ($command eq 'direntry');
-                if ($self->{'current_node'}) {
-                  if ($command eq 'direntry') {
-                    if ($self->{'FORMAT_MENU'} eq 'menu') {
-                      $self->_line_warn(__("\@direntry after first node"),
-                                $source_info);
-                    }
-                  } elsif ($command eq 'menu') {
-                    if (!(defined $current->{'parent'}->{'cmdname'})
-                        or $root_commands{$current->{'parent'}->{'cmdname'}}) {
-                      push @{$self->{'current_node'}->{'extra'}->{'menus'}}, 
$current;
-                    } else {
-                      $self->_line_warn(__("\@menu in invalid context"),
-                                        $source_info);
-                    }
+              push @{$self->{'regions_stack'}}, $block;
+            }
+            if ($menu_commands{$command}) {
+              $self->_push_context('ct_preformatted', $command);
+              push @{$self->{'info'}->{'dircategory_direntry'}}, $block
+                if ($command eq 'direntry');
+              if ($self->{'current_node'}) {
+                if ($command eq 'direntry') {
+                  if ($self->{'FORMAT_MENU'} eq 'menu') {
+                    $self->_line_warn(__("\@direntry after first node"),
+                              $source_info);
+                  }
+                } elsif ($command eq 'menu') {
+                  if (!(defined $current->{'parent'}->{'cmdname'})
+                      or $root_commands{$current->{'parent'}->{'cmdname'}}) {
+                    push @{$self->{'current_node'}->{'extra'}->{'menus'}}, 
$current;
+                  } else {
+                    $self->_line_warn(__("\@menu in invalid context"),
+                                      $source_info);
                   }
                 }
               }
-              $current->{'args'} = [ {
-                 'type' => 'block_line_arg',
-                 'contents' => [],
-                 'parent' => $current } ];
-              
-              if ($block_commands{$command} =~ /^\d+$/
-                  and $block_commands{$command} - 1 > 0) {
-                $current->{'remaining_args'} = $block_commands{$command} - 1;
-              } elsif ($block_commands{$command} eq 'variadic') {
-                $current->{'remaining_args'} = -1; # unlimited args
-              }
-              $current = $current->{'args'}->[-1];
-              $self->_push_context('ct_line', $command)
-                unless ($def_commands{$command});
             }
+            $current->{'args'} = [ {
+               'type' => 'block_line_arg',
+               'contents' => [],
+               'parent' => $current } ];
+
+            if ($block_commands{$command} =~ /^\d+$/
+                and $block_commands{$command} - 1 > 0) {
+              $current->{'remaining_args'} = $block_commands{$command} - 1;
+            } elsif ($block_commands{$command} eq 'variadic') {
+              $current->{'remaining_args'} = -1; # unlimited args
+            }
+            $current = $current->{'args'}->[-1];
+            $self->_push_context('ct_line', $command)
+              unless ($def_commands{$command});
             $block->{'source_info'} = $source_info;
             _register_global_command($self, $block, $source_info);
-
             $line = _start_empty_line_after_command($line, $current, $block,
                                                     $command);
           }
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index 090f1e50b2..9757dd127e 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -1294,7 +1294,8 @@ end_line_starting_block (ELEMENT *current)
       add_to_element_contents (current, rawpreformatted);
       current = rawpreformatted;
     }
-  current = begin_preformatted (current);
+  if (command_data(current->cmd).data != BLOCK_raw)
+    current = begin_preformatted (current);
 
   return current;
 }
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c 
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index 300e14614f..7600717353 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -890,112 +890,109 @@ handle_block_command (ELEMENT *current, char 
**line_inout,
         }
 
       /* Check if 'block args command' */
-      if (command_data(cmd).data != BLOCK_raw)
+      if (command_data(cmd).flags & CF_preformatted)
+        push_context (ct_preformatted, cmd);
+      else if (cmd == CM_displaymath)
+        push_context (ct_math, cmd);
+      else if (command_data(cmd).flags & CF_format_raw)
         {
-          if (command_data(cmd).flags & CF_preformatted)
-            push_context (ct_preformatted, cmd);
-          else if (cmd == CM_displaymath)
-            push_context (ct_math, cmd);
-          else if (command_data(cmd).flags & CF_format_raw)
+          push_context (ct_rawpreformatted, cmd);
+          if (!format_expanded_p (command_name(cmd)))
             {
-              push_context (ct_rawpreformatted, cmd);
-              if (!format_expanded_p (command_name(cmd)))
+              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,
+                                              &spaces_after_end, &dummy))
                 {
-                  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,
-                                                  &spaces_after_end, &dummy))
+                  line = new_line ();
+                  if (!line)
                     {
-                      line = new_line ();
-                      if (!line)
-                        {
-                          line = "";
-                          break;
-                        }
-                      line_dummy = line;
+                      line = "";
+                      break;
                     }
-                  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);
-
-                  e = new_element (ET_empty_line);
-                  text_append (&e->text, "");
-                  add_to_element_contents (current, e);
-                  goto funexit;
+                  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);
+
+              e = new_element (ET_empty_line);
+              text_append (&e->text, "");
+              add_to_element_contents (current, e);
+              goto funexit;
             }
-          else if (command_data(cmd).data == BLOCK_region)
+        }
+      else if (command_data(cmd).data == BLOCK_region)
+        {
+          if (current_region_cmd ())
             {
-              if (current_region_cmd ())
-                {
-                  line_error ("region %s inside region %s is not allowed",
-                              command_name(cmd),
-                              command_name(current_region_cmd ()));
-                }
-              push_region (block);
+              line_error ("region %s inside region %s is not allowed",
+                          command_name(cmd),
+                          command_name(current_region_cmd ()));
             }
+          push_region (block);
+        }
 
-          if (command_data(cmd).flags & CF_menu)
-            {
-              push_context (ct_preformatted, cmd);
+      if (command_data(cmd).flags & CF_menu)
+        {
+          push_context (ct_preformatted, cmd);
 
-              if (cmd == CM_direntry)
-                add_to_contents_as_array (&global_info.dircategory_direntry, 
-                                          block);
+          if (cmd == CM_direntry)
+            add_to_contents_as_array (&global_info.dircategory_direntry, 
+                                      block);
 
-              if (current_node)
+          if (current_node)
+            {
+              if (cmd == CM_direntry && conf.show_menu)
                 {
-                  if (cmd == CM_direntry && conf.show_menu)
-                    {
-                      line_warn ("@direntry after first node");
-                    }
-                  else if (cmd == CM_menu)
-                    {
-                      if (!(command_flags(current->parent) & CF_root))
-                        line_warn ("@menu in invalid context");
-                      /* Add to array of menus for current node.  Currently
-                         done in Perl code. */
-                    }
+                  line_warn ("@direntry after first node");
+                }
+              else if (cmd == CM_menu)
+                {
+                  if (!(command_flags(current->parent) & CF_root))
+                    line_warn ("@menu in invalid context");
+                  /* Add to array of menus for current node.  Currently
+                     done in Perl code. */
                 }
             }
+        }
+
+      if (cmd == CM_itemize || cmd == CM_enumerate)
+        counter_push (&count_items, current, 0);
+      /* Note that no equivalent thing is done in the Perl code, because
+         'item_count' is assumed to start at 0. */
+
+        {
+          ELEMENT *bla = new_element (ET_block_line_arg);
+          add_to_element_args (current, bla);
+
+          if (command_data (current->cmd).data > 1)
+            {
+              counter_push (&count_remaining_args,
+                            current,
+                            command_data (current->cmd).data - 1);
+            }
+          else if (command_data (current->cmd).data == BLOCK_variadic)
+            {
+              /* Unlimited args */
+              counter_push (&count_remaining_args, current,
+                            COUNTER_VARIADIC);
+            }
+
+          current = bla;
+          if (!(command_data(cmd).flags & CF_def))
+            push_context (ct_line, cmd);
+
+          /* Note that an ET_empty_line_after_command gets reparented in the 
+             contents in 'end_line'. */
 
-          if (cmd == CM_itemize || cmd == CM_enumerate)
-            counter_push (&count_items, current, 0);
-          /* Note that no equivalent thing is done in the Perl code, because
-             'item_count' is assumed to start at 0. */
-
-          {
-            ELEMENT *bla = new_element (ET_block_line_arg);
-            add_to_element_args (current, bla);
-
-            if (command_data (current->cmd).data > 1)
-              {
-                counter_push (&count_remaining_args,
-                              current,
-                              command_data (current->cmd).data - 1);
-              }
-            else if (command_data (current->cmd).data == BLOCK_variadic)
-              {
-                /* Unlimited args */
-                counter_push (&count_remaining_args, current,
-                              COUNTER_VARIADIC);
-              }
-
-            current = bla;
-            if (!(command_data(cmd).flags & CF_def))
-              push_context (ct_line, cmd);
-
-            /* Note that an ET_empty_line_after_command gets reparented in the 
-               contents in 'end_line'. */
-
-          }
         }
       block->source_info = current_source_info;
       register_global_command (block);
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index 7550c1cb2d..88463f29b1 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -1294,22 +1294,10 @@ superfluous_arg:
         }
       else /* save the line verbatim */
         {
-          ELEMENT *last = last_contents_child (current);
-          /* Append to existing element only if the text is all
-             whitespace.  */
-          if (last && last->type == ET_empty_line_after_command
-              && line[strspn (line, whitespace_chars)] == '\0'
-              && !strchr (last->text.text, '\n'))
-            {
-              text_append (&last->text, line);
-            }
-          else
-            {
-              ELEMENT *e;
-              e = new_element (ET_raw);
-              text_append (&e->text, line);
-              add_to_element_contents (current, e);
-            }
+          ELEMENT *e;
+          e = new_element (ET_raw);
+          text_append (&e->text, line);
+          add_to_element_contents (current, e);
 
           retval = GET_A_NEW_LINE;
           goto funexit;
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 ae3278ad1f..9e6cc043db 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
@@ -46,17 +46,19 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@ifset
@@ -107,12 +109,11 @@ 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[1]{'args'}[
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0];
 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0];
-$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_ifset_in_ifset_set'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
 
$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]{'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 0f1d2007e7..14a1aa438b 100644
--- a/tp/t/results/conditionals/end_ifset_in_format.pl
+++ b/tp/t/results/conditionals/end_ifset_in_format.pl
@@ -46,17 +46,19 @@ $result_trees{'end_ifset_in_format'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@end ifset',
@@ -118,17 +120,19 @@ $result_trees{'end_ifset_in_format'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@end ifset
@@ -229,23 +233,21 @@ 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'p
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[1];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
-$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
 
$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]{'contents'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[4];
 $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]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
-$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0];
+$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6];
-$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0];
-$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[2];
-$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6];
 $result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'end_ifset_in_format'}{'contents'}[0];
 $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]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'end_ifset_in_format'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'args'}[0];
diff --git a/tp/t/results/conditionals/ignore_not_closed.pl 
b/tp/t/results/conditionals/ignore_not_closed.pl
index 4fb9865f3a..d0615c95bf 100644
--- a/tp/t/results/conditionals/ignore_not_closed.pl
+++ b/tp/t/results/conditionals/ignore_not_closed.pl
@@ -10,17 +10,19 @@ $result_trees{'ignore_not_closed'} = {
     {
       'contents' => [
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '
@@ -48,10 +50,9 @@ $result_trees{'ignore_not_closed'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0];
-$result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0];
 $result_trees{'ignore_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'ignore_not_closed'}{'contents'}[0];
 $result_trees{'ignore_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'ignore_not_closed'};
 
diff --git a/tp/t/results/conditionals/nested_ignore.pl 
b/tp/t/results/conditionals/nested_ignore.pl
index 3713a98ca1..3088178bfb 100644
--- a/tp/t/results/conditionals/nested_ignore.pl
+++ b/tp/t/results/conditionals/nested_ignore.pl
@@ -10,17 +10,19 @@ $result_trees{'nested_ignore'} = {
     {
       'contents' => [
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@ignore
@@ -77,17 +79,19 @@ $result_trees{'nested_ignore'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@end iftex
@@ -144,17 +148,19 @@ $result_trees{'nested_ignore'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => ' 
+'
               },
               'parent' => {},
-              'text' => ' 
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@end ifclear
@@ -211,34 +217,31 @@ $result_trees{'nested_ignore'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'contents'}[3];
 
$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]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[3]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[3];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[3]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[4]{'args'}[0];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[4];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'contents'}[4]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[3]{'args'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[3];
 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[3]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[4]{'args'}[0];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[4];
-$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'contents'}[4]{'parent'}
 = $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4];
 $result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
 $result_trees{'nested_ignore'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'};
 
diff --git a/tp/t/results/coverage/symbol_after_block.pl 
b/tp/t/results/coverage/symbol_after_block.pl
index 3732dbc89a..5544eb30d5 100644
--- a/tp/t/results/coverage/symbol_after_block.pl
+++ b/tp/t/results/coverage/symbol_after_block.pl
@@ -171,17 +171,19 @@ $result_trees{'symbol_after_block'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'In verbatim
@@ -227,17 +229,19 @@ $result_trees{'symbol_after_block'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'In verbatim
@@ -1589,21 +1593,19 @@ 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[3]{'parent'} = $r
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[4];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
 
$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]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
-$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'args'}[0];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'args'}[0];
+$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8];
-$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0];
-$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0];
-$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2];
-$result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'parent'}
 = $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8];
 $result_trees{'symbol_after_block'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'symbol_after_block'}{'contents'}[0];
 $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];
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 42b53b96f1..ce6f350d56 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
@@ -144,17 +144,19 @@ $result_trees{'verbatim_in_multitable_in_example'} = {
                               'type' => 'empty_line_after_command'
                             },
                             {
-                              'cmdname' => 'verbatim',
-                              'contents' => [
+                              'args' => [
                                 {
+                                  'contents' => [],
                                   'extra' => {
-                                    'spaces_associated_command' => {}
+                                    'spaces_after_argument' => '
+'
                                   },
                                   'parent' => {},
-                                  'text' => '
-',
-                                  'type' => 'empty_line_after_command'
-                                },
+                                  'type' => 'block_line_arg'
+                                }
+                              ],
+                              'cmdname' => 'verbatim',
+                              'contents' => [
                                 {
                                   'parent' => {},
                                   'text' => 'in first column, verbatim
@@ -368,12 +370,11 @@ 
$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'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'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];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'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'}[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]{'args'}[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'}[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]{'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'}[1]{'args'}[0];
+$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'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'}[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]{'parent'}
 = 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$result_trees{'verbatim_in_multitable_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'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'}[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 a9e4794310..2446d104bc 100644
--- a/tp/t/results/html_tests/xml_protected_in_verb.pl
+++ b/tp/t/results/html_tests/xml_protected_in_verb.pl
@@ -10,17 +10,19 @@ $result_trees{'xml_protected_in_verb'} = {
     {
       'contents' => [
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '<a>
@@ -145,12 +147,11 @@ $result_trees{'xml_protected_in_verb'} = {
   ],
   'type' => 'document_root'
 };
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$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]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'xml_protected_in_verb'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
diff --git a/tp/t/results/include/cpp_lines.pl 
b/tp/t/results/include/cpp_lines.pl
index 48c4f71584..01ce1d0282 100644
--- a/tp/t/results/include/cpp_lines.pl
+++ b/tp/t/results/include/cpp_lines.pl
@@ -165,17 +165,19 @@ $result_trees{'cpp_lines'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '
@@ -1220,13 +1222,12 @@ 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'
 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
 $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'cpp_lines'}{'contents'}[1];
-$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'} 
= $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[3]{'contents'}[2];
 
$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]{'args'}[0]{'parent'} 
= $result_trees{'cpp_lines'}{'contents'}[1]{'contents'}[5];
diff --git a/tp/t/results/invalid_nestings/ignore_in_xref.pl 
b/tp/t/results/invalid_nestings/ignore_in_xref.pl
index f2de6ea47a..4691a954f5 100644
--- a/tp/t/results/invalid_nestings/ignore_in_xref.pl
+++ b/tp/t/results/invalid_nestings/ignore_in_xref.pl
@@ -54,17 +54,19 @@ $result_trees{'ignore_in_xref'} = {
                 {
                   'contents' => [
                     {
-                      'cmdname' => 'ignore',
-                      'contents' => [
+                      'args' => [
                         {
+                          'contents' => [],
                           'extra' => {
-                            'spaces_associated_command' => {}
+                            'spaces_after_argument' => '
+'
                           },
                           'parent' => {},
-                          'text' => '
-',
-                          'type' => 'empty_line_after_command'
-                        },
+                          'type' => 'block_line_arg'
+                        }
+                      ],
+                      'cmdname' => 'ignore',
+                      'contents' => [
                         {
                           'parent' => {},
                           'text' => 'ignore me',
@@ -176,13 +178,12 @@ 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'args'}[0]{'parent'} = $result_tr
 $result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'ignore_in_xref'}{'contents'}[1];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
-$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'contents'}[0]{'contents'}[2];
 
$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]{'parent'}
 = $result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
 
$result_trees{'ignore_in_xref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'ignore_in_xref'}{'contents'}[1];
diff --git a/tp/t/results/invalid_nestings/verbatim_in_ref.pl 
b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
index bb47e4b822..306c85e8b3 100644
--- a/tp/t/results/invalid_nestings/verbatim_in_ref.pl
+++ b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
@@ -75,17 +75,19 @@ $result_trees{'verbatim_in_ref'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'verbat text
@@ -175,12 +177,11 @@ 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'a
 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[1]{'parent'}
 = 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1];
 $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'verbatim_in_ref'}{'contents'}[1];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[2]{'contents'}[1];
 
$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]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_ref'}{'contents'}[1]{'contents'}[4];
diff --git a/tp/t/results/latex_tests/verbatim_in_smallformat.pl 
b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
index c3493a0826..c49b065ace 100644
--- a/tp/t/results/latex_tests/verbatim_in_smallformat.pl
+++ b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
@@ -29,17 +29,19 @@ $result_trees{'verbatim_in_smallformat'} = {
           'cmdname' => 'smallformat',
           'contents' => [
             {
-              'cmdname' => 'verbatim',
-              'contents' => [
+              'args' => [
                 {
+                  'contents' => [],
                   'extra' => {
-                    'spaces_associated_command' => {}
+                    'spaces_after_argument' => '
+'
                   },
                   'parent' => {},
-                  'text' => '
-',
-                  'type' => 'empty_line_after_command'
-                },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'verbatim',
+              'contents' => [
                 {
                   'parent' => {},
                   'text' => '... still verbatim, but in a smaller font ...
@@ -124,12 +126,11 @@ $result_trees{'verbatim_in_smallformat'} = {
 };
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_smallformat'}{'contents'}[0];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1];
-$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_smallformat'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
diff --git a/tp/t/results/macro/complex_argument.pl 
b/tp/t/results/macro/complex_argument.pl
index 4d3617d321..33518268ff 100644
--- a/tp/t/results/macro/complex_argument.pl
+++ b/tp/t/results/macro/complex_argument.pl
@@ -379,17 +379,19 @@ $result_trees{'complex_argument'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@macrotwo
@@ -429,17 +431,19 @@ $result_trees{'complex_argument'} = {
           }
         },
         {
-          'cmdname' => 'ignore',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'ignore',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@macrofour',
@@ -700,20 +704,18 @@ 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[8]{'
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[9]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[6]{'contents'}[10]{'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]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[1];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0];
+$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[2];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'args'}[0];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[3];
-$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'contents'}[3]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8];
 $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'complex_argument'}{'contents'}[0];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'complex_argument'}{'contents'}[0]{'contents'}[9]{'args'}[1]{'parent'}
 = $result_trees{'complex_argument'}{'contents'}[0]{'contents'}[9];
diff --git a/tp/t/results/macro/macro_expansion.pl 
b/tp/t/results/macro/macro_expansion.pl
index e107fc06e2..7d2decffad 100644
--- a/tp/t/results/macro/macro_expansion.pl
+++ b/tp/t/results/macro/macro_expansion.pl
@@ -118,17 +118,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'second arg
@@ -211,17 +213,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '
@@ -278,17 +282,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '
@@ -345,17 +351,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '@macroone{nested second arg}
@@ -412,17 +420,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '{} \\ 
@@ -496,17 +506,19 @@ $result_trees{'macro_expansion'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'arg3
@@ -576,12 +588,11 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[1]{'parent'} = $resu
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[3];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $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];
@@ -590,42 +601,38 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'a
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[2];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$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]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10];
 
$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]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[12]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[12];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[13]{'contents'}[1];
 
$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];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[15]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[1];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[2];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[16]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[17]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18];
@@ -633,14 +640,13 @@ 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[18]{'parent'} = $res
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[19]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[20]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[20];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[20]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[1]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[2]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[3]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[3];
 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[3]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[4]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[4];
-$result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'contents'}[4]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21];
 $result_trees{'macro_expansion'}{'contents'}[0]{'contents'}[21]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[0];
 $result_trees{'macro_expansion'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'};
 
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 534b2f77d3..7cababb43c 100644
--- a/tp/t/results/macro/space_macro_after_end_verbatim.pl
+++ b/tp/t/results/macro/space_macro_after_end_verbatim.pl
@@ -73,17 +73,19 @@ $result_trees{'space_macro_after_end_verbatim'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim
@@ -136,12 +138,11 @@ 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[0]{'c
 
$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]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2];
-$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
-$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
-$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = 
$result_trees{'space_macro_after_end_verbatim'}{'contents'}[0]{'contents'}[2];
 
$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]{'parent'} = 
$result_trees{'space_macro_after_end_verbatim'};
 
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 a955613a5f..923d72411c 100644
--- a/tp/t/results/menu/block_commands_in_menu_description.pl
+++ b/tp/t/results/menu/block_commands_in_menu_description.pl
@@ -481,17 +481,19 @@ $result_trees{'block_commands_in_menu_description'} = {
                       'type' => 'preformatted'
                     },
                     {
-                      'cmdname' => 'verbatim',
-                      'contents' => [
+                      'args' => [
                         {
+                          'contents' => [],
                           'extra' => {
-                            'spaces_associated_command' => {}
+                            'spaces_after_argument' => '
+'
                           },
                           'parent' => {},
-                          'text' => '
-',
-                          'type' => 'empty_line_after_command'
-                        },
+                          'type' => 'block_line_arg'
+                        }
+                      ],
+                      'cmdname' => 'verbatim',
+                      'contents' => [
                         {
                           'parent' => {},
                           'text' => '
@@ -664,12 +666,11 @@ 
$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'}[3]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[3]{'contents'}[0];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[3];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[3]{'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'}[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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3]{'contents'}[4]{'contents'}[1];
 
$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]{'parent'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0];
 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'extra'}{'menu_entry_description'}
 = 
$result_trees{'block_commands_in_menu_description'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'args'}[3];
diff --git a/tp/t/results/menu/formats_in_menu.pl 
b/tp/t/results/menu/formats_in_menu.pl
index bc8d272b22..f15cddc9eb 100644
--- a/tp/t/results/menu/formats_in_menu.pl
+++ b/tp/t/results/menu/formats_in_menu.pl
@@ -301,17 +301,19 @@ $result_trees{'formats_in_menu'} = {
                       'type' => 'preformatted'
                     },
                     {
-                      'cmdname' => 'verbatim',
-                      'contents' => [
+                      'args' => [
                         {
+                          'contents' => [],
                           'extra' => {
-                            'spaces_associated_command' => {}
+                            'spaces_after_argument' => '
+'
                           },
                           'parent' => {},
-                          'text' => '
-',
-                          'type' => 'empty_line_after_command'
-                        },
+                          'type' => 'block_line_arg'
+                        }
+                      ],
+                      'cmdname' => 'verbatim',
+                      'contents' => [
                         {
                           'parent' => {},
                           'text' => 'some @ verb{x atim
@@ -813,13 +815,12 @@ 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'a
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[2]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[0];
 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[0]{'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'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[1]{'contents'}[2];
 
$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]{'parent'}
 = 
$result_trees{'formats_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
diff --git a/tp/t/results/raw/misc_raw.pl b/tp/t/results/raw/misc_raw.pl
index 19e09a7ef6..ebdbc349ee 100644
--- a/tp/t/results/raw/misc_raw.pl
+++ b/tp/t/results/raw/misc_raw.pl
@@ -148,17 +148,19 @@ $result_trees{'misc_raw'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in  v---erbatim`` <>
@@ -226,13 +228,12 @@ 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0
 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[3];
 $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[0];
 $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[0];
-$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
+$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'misc_raw'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
 
$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]{'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 2faa63cf1b..af3b01cb64 100644
--- a/tp/t/results/raw/misc_raw_comments.pl
+++ b/tp/t/results/raw/misc_raw_comments.pl
@@ -200,17 +200,19 @@ $result_trees{'misc_raw_comments'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim @c in verbatim
@@ -284,13 +286,12 @@ 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{
 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[3];
 $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[0];
 $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[0];
-$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5];
 
$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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'misc_raw_comments'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
 
$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]{'parent'} = 
$result_trees{'misc_raw_comments'};
 
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 6e7eba7555..987171f347 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
@@ -969,17 +969,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'Surrounded by empty lines.
@@ -1036,17 +1038,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in block
@@ -1113,17 +1117,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in block
@@ -1190,17 +1196,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in block
@@ -1256,17 +1264,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in block
@@ -1333,17 +1343,19 @@ $result_trees{'raw_commands_and_end_of_lines'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in block
@@ -1513,68 +1525,62 @@ 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[23]{'c
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[23]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[23];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[23]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[24]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
-$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[25]{'contents'}[1];
 
$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]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[27];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[27]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[1];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[2]{'args'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[2];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[28]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$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]{'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];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[31]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[1];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[2]{'args'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[2];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[32]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[33]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[33];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[33]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$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]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[35];
 
$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]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36];
 
$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];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[1];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[2]{'args'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[2];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[36]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[37]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[38]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[38];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[38]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
-$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]{'args'}[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'}[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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[39]{'contents'}[1];
 
$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]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[40];
 
$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]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[42]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[42];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[42]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[1];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[1]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[2]{'args'}[0];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[2];
-$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'contents'}[2]{'parent'}
 = 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43];
 
$result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'contents'}[43]{'parent'}
 = $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0];
 $result_trees{'raw_commands_and_end_of_lines'}{'contents'}[0]{'parent'} = 
$result_trees{'raw_commands_and_end_of_lines'};
 
diff --git a/tp/t/results/raw/raw_in_para.pl b/tp/t/results/raw/raw_in_para.pl
index d620c4e8d4..73e3e1737c 100644
--- a/tp/t/results/raw/raw_in_para.pl
+++ b/tp/t/results/raw/raw_in_para.pl
@@ -21,17 +21,19 @@ $result_trees{'raw_in_para'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim
@@ -270,12 +272,11 @@ $result_trees{'raw_in_para'} = {
 };
 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[0];
 $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'raw_in_para'}{'contents'}[0];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[1]{'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]{'contents'}[0]{'parent'}
 = $result_trees{'raw_in_para'}{'contents'}[0]{'contents'}[3];
diff --git a/tp/t/results/raw/verbatim_and_verbatiminclude.pl 
b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
index d8fa1c0485..238af080fd 100644
--- a/tp/t/results/raw/verbatim_and_verbatiminclude.pl
+++ b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
@@ -10,17 +10,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
     {
       'contents' => [
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'In verbatim                @@                        
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa       bbbbbbbbbbbbbb
@@ -77,17 +79,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatime
@@ -169,17 +173,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'type' => 'paragraph'
             },
             {
-              'cmdname' => 'verbatim',
-              'contents' => [
+              'args' => [
                 {
+                  'contents' => [],
                   'extra' => {
-                    'spaces_associated_command' => {}
+                    'spaces_after_argument' => '
+'
                   },
                   'parent' => {},
-                  'text' => '
-',
-                  'type' => 'empty_line_after_command'
-                },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'verbatim',
+              'contents' => [
                 {
                   'parent' => {},
                   'text' => 'In verbatim in quotation
@@ -279,17 +285,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'In verbatim test text
@@ -569,17 +577,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'type' => 'preformatted'
             },
             {
-              'cmdname' => 'verbatim',
-              'contents' => [
+              'args' => [
                 {
+                  'contents' => [],
                   'extra' => {
-                    'spaces_associated_command' => {}
+                    'spaces_after_argument' => '
+'
                   },
                   'parent' => {},
-                  'text' => '
-',
-                  'type' => 'empty_line_after_command'
-                },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'verbatim',
+              'contents' => [
                 {
                   'parent' => {},
                   'text' => 'In verbatim in example
@@ -711,17 +721,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'type' => 'empty_line'
             },
             {
-              'cmdname' => 'verbatim',
-              'contents' => [
+              'args' => [
                 {
+                  'contents' => [],
                   'extra' => {
-                    'spaces_associated_command' => {}
+                    'spaces_after_argument' => '
+'
                   },
                   'parent' => {},
-                  'text' => '
-',
-                  'type' => 'empty_line_after_command'
-                },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'verbatim',
+              'contents' => [
                 {
                   'parent' => {},
                   'text' => 'In verbatim in quotation with spaces
@@ -847,17 +859,19 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
               'type' => 'empty_line'
             },
             {
-              'cmdname' => 'verbatim',
-              'contents' => [
+              'args' => [
                 {
+                  'contents' => [],
                   'extra' => {
-                    'spaces_associated_command' => {}
+                    'spaces_after_argument' => '
+'
                   },
                   'parent' => {},
-                  'text' => '
-',
-                  'type' => 'empty_line_after_command'
-                },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'verbatim',
+              'contents' => [
                 {
                   'parent' => {},
                   'text' => 'In verbatim in quotation
@@ -951,22 +965,20 @@ $result_trees{'verbatim_and_verbatiminclude'} = {
   ],
   'type' => 'document_root'
 };
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 
$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]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$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]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
@@ -974,13 +986,12 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[5]{'par
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[3]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[3];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'contents'}[2];
@@ -989,12 +1000,11 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[6]{'par
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[2];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0];
@@ -1026,13 +1036,12 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'ar
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[3]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[3];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[20];
@@ -1045,13 +1054,12 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'ar
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[3]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[3];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'contents'}[3]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[22]{'contents'}[4]{'args'}[0];
@@ -1063,12 +1071,11 @@ 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'ar
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[0];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[1];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[2]{'args'}[0];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[2];
-$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'contents'}[2]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[3];
 
$result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_and_verbatiminclude'}{'contents'}[0]{'contents'}[24];
diff --git a/tp/t/results/raw/verbatim_in_brace_command.pl 
b/tp/t/results/raw/verbatim_in_brace_command.pl
index e0b3f15a88..f600a782a4 100644
--- a/tp/t/results/raw/verbatim_in_brace_command.pl
+++ b/tp/t/results/raw/verbatim_in_brace_command.pl
@@ -39,17 +39,19 @@ $result_trees{'verbatim_in_brace_command'} = {
           'type' => 'paragraph'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim
@@ -104,12 +106,11 @@ 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'conten
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_in_brace_command'}{'contents'}[0];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'verbatim_in_brace_command'}{'contents'}[0]{'contents'}[1]{'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]{'parent'} = 
$result_trees{'verbatim_in_brace_command'};
diff --git a/tp/t/results/raw/verbatim_not_closed.pl 
b/tp/t/results/raw/verbatim_not_closed.pl
index 33ea1079fc..ad59863bb5 100644
--- a/tp/t/results/raw/verbatim_not_closed.pl
+++ b/tp/t/results/raw/verbatim_not_closed.pl
@@ -10,17 +10,19 @@ $result_trees{'verbatim_not_closed'} = {
     {
       'contents' => [
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '
+'
               },
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => '
@@ -66,13 +68,12 @@ $result_trees{'verbatim_not_closed'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
-$result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0];
 $result_trees{'verbatim_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'verbatim_not_closed'}{'contents'}[0];
 $result_trees{'verbatim_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'verbatim_not_closed'};
 
diff --git a/tp/t/results/xml_tests/commands_and_spaces.pl 
b/tp/t/results/xml_tests/commands_and_spaces.pl
index e93d26b6ea..a78441eb3a 100644
--- a/tp/t/results/xml_tests/commands_and_spaces.pl
+++ b/tp/t/results/xml_tests/commands_and_spaces.pl
@@ -1074,17 +1074,19 @@ $result_trees{'commands_and_spaces'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '  
+'
               },
               'parent' => {},
-              'text' => '  
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim @g 
@@ -1972,12 +1974,11 @@ 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[26]{'extra'}{'pr
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[26]{'extra'}{'prototypes_line'}[4]
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[26]{'args'}[0]{'contents'}[4];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[26]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[27]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[0]{'extra'}{'spaces_associated_command'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'args'}[0]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[0]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[1]{'args'}[0];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[1];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[1]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[2]{'args'}[0];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[2];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'contents'}[2]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28];
 $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[28]{'parent'} 
= $result_trees{'commands_and_spaces'}{'contents'}[1];
 $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]{'args'}[0]{'parent'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[30];
diff --git a/tp/t/results/xml_tests/spaces_info_lost.pl 
b/tp/t/results/xml_tests/spaces_info_lost.pl
index 75a7387183..44d74da9bb 100644
--- a/tp/t/results/xml_tests/spaces_info_lost.pl
+++ b/tp/t/results/xml_tests/spaces_info_lost.pl
@@ -86,17 +86,19 @@ $result_trees{'spaces_info_lost'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'verbatim',
-          'contents' => [
+          'args' => [
             {
+              'contents' => [],
               'extra' => {
-                'spaces_associated_command' => {}
+                'spaces_after_argument' => '  
+'
               },
               'parent' => {},
-              'text' => '  
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'verbatim',
+          'contents' => [
             {
               'parent' => {},
               'text' => 'in verbatim @g 
@@ -151,12 +153,11 @@ 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'
 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[0];
 $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'spaces_info_lost'}{'contents'}[0];
 $result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'spaces_info_lost'}{'contents'}[0];
-$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]{'args'}[0]{'parent'}
 = $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]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'spaces_info_lost'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
 
$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]{'parent'} = 
$result_trees{'spaces_info_lost'};
 



reply via email to

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