texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: Parse ignored raw format line like other block co


From: Patrice Dumas
Subject: branch master updated: Parse ignored raw format line like other block commands
Date: Fri, 09 Sep 2022 18:27:37 -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 d264774ef1 Parse ignored raw format line like other block commands
d264774ef1 is described below

commit d264774ef1e93343668593367b74f8014ba5f3d2
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Sep 10 00:27:27 2022 +0200

    Parse ignored raw format 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, parse_texi):
    do not process ignored format content when the command is
    found, instead do it after the line has been parsed.
---
 ChangeLog                                          | 11 ++++
 tp/Texinfo/ParserNonXS.pm                          | 58 +++++++++--------
 tp/Texinfo/XS/parsetexi/end_line.c                 |  3 +-
 tp/Texinfo/XS/parsetexi/handle_commands.c          | 31 ---------
 tp/Texinfo/XS/parsetexi/parser.c                   | 45 ++++++++++++-
 .../conditionals/false_format_not_closed.pl        | 26 +++++---
 tp/t/results/conditionals/many_conditionals.pl     | 30 ++++++---
 .../results/converters_tests/at_commands_in_raw.pl | 30 ++++++---
 tp/t/results/formatting/cond.pl                    | 30 ++++++---
 tp/t/results/formatting/cond_info.pl               | 60 +++++++++++------
 .../cond_info_no-ifhtml_no-ifinfo_no-iftex.pl      | 60 +++++++++++------
 .../cond_no-ifhtml_no-ifinfo_no-iftex.pl           | 60 +++++++++++------
 tp/t/results/formatting/cond_xml.pl                | 60 +++++++++++------
 tp/t/results/formatting/texi_cond.pl               | 30 ++++++---
 tp/t/results/raw/beginning_and_end_on_line.pl      | 75 ++++++++++++++++------
 tp/t/results/raw/spurious_arg_on_line.pl           | 41 ++++++++----
 16 files changed, 431 insertions(+), 219 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fb944b39fd..43c68f8d70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2022-09-09  Patrice Dumas  <pertusus@free.fr>
+
+       Parse ignored raw format 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, 
parse_texi):
+       do not process ignored format content when the command is
+       found, instead do it after the line has been parsed.
+
 2022-09-09  Patrice Dumas  <pertusus@free.fr>
 
        Handle macro, verbatim and ignore line like other block commands
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 4b30f772bb..01d6f62610 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -3231,7 +3231,8 @@ sub _end_line($$$)
       $current = $current->{'contents'}->[-1];
       print STDERR "MENU_COMMENT OPEN\n" if ($self->{'DEBUG'});
     }
-    if ($current->{'cmdname'} and $format_raw_commands{$current->{'cmdname'}}) 
{
+    if ($current->{'cmdname'} and $format_raw_commands{$current->{'cmdname'}}
+        and $self->{'expanded_formats_hash'}->{$current->{'cmdname'}}) {
       push @{$current->{'contents'}},
           { 'type' => 'rawpreformatted',
             'parent' => $current };
@@ -3923,10 +3924,12 @@ sub _parse_texi($$$)
          .join('|', $self->_get_context_stack())
          .":@{$self->{'conditionals_stack'}}:$line_text): $line";
       #print STDERR "CONTEXT_STACK 
".join('|',$self->_get_context_stack())."\n";
+      #print STDERR "  $current: 
".Texinfo::Common::debug_print_element_short($current)."\n";
     }
 
     if (not
-        # raw format or verb
+        # all the format handled early that have specific containers
+        # 'raw' format or verb or ignored raw format
           (($current->{'cmdname'}
            and $block_commands{$current->{'cmdname'}}
             and ($block_commands{$current->{'cmdname'}} eq 'raw'
@@ -3934,6 +3937,10 @@ sub _parse_texi($$$)
           or
            ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
             and $current->{'parent'}->{'cmdname'} eq 'verb')
+          or
+           ($current->{'cmdname'}
+            and $format_raw_commands{$current->{'cmdname'}}
+            and not $self->{'expanded_formats_hash'}->{$current->{'cmdname'}})
           )
         # not def line
         and $self->_top_context() ne 'ct_def') {
@@ -4112,8 +4119,30 @@ sub _parse_texi($$$)
           print STDERR "LINE VERB: $line" if ($self->{'DEBUG'});
           last;
         }
+      } elsif ($current->{'cmdname'}
+               and $format_raw_commands{$current->{'cmdname'}}
+               and not 
$self->{'expanded_formats_hash'}->{$current->{'cmdname'}}) {
+        push @{$current->{'contents'}}, { 'type' => 'elided_block',
+                                          'contents' => [],
+                                          'parent' => $current };
+        while (not $line =~ /^\s*\@end\s+$current->{'cmdname'}/) {
+          ($line, $source_info) = _new_line($self, $source_info);
+          if (!$line) {
+            # unclosed block
+            $line = '';
+            last;
+          }
+        }
+        # start a new line for the @end line, this is normally done
+        # at the beginning of a line, but not here, as we directly
+        # got the lines.
+        $line =~ s/^([^\S\r\n]*)//;
+        push @{$current->{'contents'}}, { 'type' => 'empty_line',
+                                          'text' => $1,
+                                          'parent' => $current };
+        # It is important to let the processing continue from here, such that
+        # the @end is catched and handled below, as the condition has not 
changed
       }
-
       # this mostly happens in the following cases:
       #   after expansion of user defined macro that doesn't end with EOL
       #   after a protection of @\n in @def* line
@@ -5118,29 +5147,6 @@ sub _parse_texi($$$)
               $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;
-              }
             }
             if ($region_commands{$command}) {
               if (@{$self->{'regions_stack'}}) {
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index 9757dd127e..5c004e8ed0 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -1288,7 +1288,8 @@ end_line_starting_block (ELEMENT *current)
       current = menu_comment;
       debug ("MENU_COMMENT OPEN");
     }
-  if (command_flags(current) & CF_format_raw)
+  if (command_flags(current) & CF_format_raw
+      && format_expanded_p (command_name(current->cmd)))
     {
       ELEMENT *rawpreformatted = new_element (ET_rawpreformatted);
       add_to_element_contents (current, rawpreformatted);
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c 
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index 7600717353..6c6d074743 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -897,37 +897,6 @@ handle_block_command (ELEMENT *current, char **line_inout,
       else if (command_data(cmd).flags & CF_format_raw)
         {
           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))
-                {
-                  line = new_line ();
-                  if (!line)
-                    {
-                      line = "";
-                      break;
-                    }
-                  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)
         {
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index 88463f29b1..0dbe37b0ba 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -1361,6 +1361,44 @@ superfluous_arg:
           retval = GET_A_NEW_LINE; goto funexit;  /* Get next line. */
         }
     } /* CM_verb */
+  else if (command_flags(current) & CF_format_raw
+           && !format_expanded_p (command_name(current->cmd)))
+    {
+      ELEMENT *e;
+      enum command_id dummy;
+      char *spaces_after_end;
+      char *line_dummy;
+      int n;
+
+      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 = "";
+              break;
+            }
+          line_dummy = line;
+        }
+      if (strlen(line) > 0)
+        free (spaces_after_end);
+
+      /* start a new line for the @end line, this is normally done
+         at the beginning of a line, but not here, as we directly
+         got the lines. */
+      e = new_element (ET_empty_line);
+      add_to_element_contents (current, e);
+
+      n = strspn (line, whitespace_chars_except_newline);
+      text_append_n (&e->text, line, n);
+      line += n;
+      /* It is important to let the processing continue from here, such that
+         the @end is catched and handled below, as the condition has not 
changed */
+    } /* ignored raw format */
 
   /* Skip empty lines.  If we reach the end of input, continue in case there
      is an @include. */
@@ -2056,14 +2094,17 @@ parse_texi (ELEMENT *root_elt, ELEMENT *current_elt)
 
       debug_nonl ("NEW LINE %s", line);
 
-      /* If not in 'raw' or 'conditional' and parent isn't a 'verb', collect
+      /* If not in 'raw' or 'conditional' and parent isn't a 'verb',
+         and not an ignored raw format, collect
          leading whitespace and save as an "ET_empty_line" element.  This
          element type can be changed in 'abort_empty_line' when more text is
          read. */
       if (!((command_flags(current) & CF_block)
              && (command_data(current->cmd).data == BLOCK_raw
                  || command_data(current->cmd).data == BLOCK_conditional)
-            || current->parent && current->parent->cmd == CM_verb)
+            || current->parent && current->parent->cmd == CM_verb
+            || (command_flags(current) & CF_format_raw
+                && !format_expanded_p (command_name(current->cmd))))
           && current_context () != ct_def)
         {
           ELEMENT *e;
diff --git a/tp/t/results/conditionals/false_format_not_closed.pl 
b/tp/t/results/conditionals/false_format_not_closed.pl
index 7cc03c8523..5c1232b30f 100644
--- a/tp/t/results/conditionals/false_format_not_closed.pl
+++ b/tp/t/results/conditionals/false_format_not_closed.pl
@@ -10,6 +10,17 @@ $result_trees{'false_format_not_closed'} = {
     {
       'contents' => [
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -17,19 +28,18 @@ $result_trees{'false_format_not_closed'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'parent' => {},
               'text' => '',
               'type' => 'empty_line'
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          }
         }
       ],
       'parent' => {},
@@ -38,9 +48,9 @@ $result_trees{'false_format_not_closed'} = {
   ],
   'type' => 'document_root'
 };
+$result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0];
-$result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'false_format_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'false_format_not_closed'}{'contents'}[0];
 $result_trees{'false_format_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'false_format_not_closed'};
 
diff --git a/tp/t/results/conditionals/many_conditionals.pl 
b/tp/t/results/conditionals/many_conditionals.pl
index 8ceeffcf8f..9541431608 100644
--- a/tp/t/results/conditionals/many_conditionals.pl
+++ b/tp/t/results/conditionals/many_conditionals.pl
@@ -136,6 +136,17 @@ $result_trees{'many_conditionals'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -143,12 +154,6 @@ $result_trees{'many_conditionals'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -179,7 +184,12 @@ $result_trees{'many_conditionals'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 23,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -229,11 +239,11 @@ 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[6]{'parent'} = $re
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
+$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'args'}[0]{'parent'}
 = $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10];
 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[0]{'parent'}
 = $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10];
+$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'args'}[0];
+$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[1];
 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[1]{'parent'}
 = $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10];
-$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0];
-$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[2];
-$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'contents'}[2]{'parent'}
 = $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10];
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
 $result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
diff --git a/tp/t/results/converters_tests/at_commands_in_raw.pl 
b/tp/t/results/converters_tests/at_commands_in_raw.pl
index 71c8c55136..e0a1e92dc6 100644
--- a/tp/t/results/converters_tests/at_commands_in_raw.pl
+++ b/tp/t/results/converters_tests/at_commands_in_raw.pl
@@ -415,6 +415,17 @@ $result_trees{'at_commands_in_raw'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -422,12 +433,6 @@ $result_trees{'at_commands_in_raw'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -458,7 +463,12 @@ $result_trees{'at_commands_in_raw'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 17,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -975,11 +985,11 @@ 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[2]{'contents'}[1]
 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[2];
 $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[2]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[4];
 $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[3]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[4];
+$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4];
 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4];
+$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[1];
 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4];
-$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[2]{'args'}[0];
-$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[2];
-$result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4];
 $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[4]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[4];
 $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[5]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[4];
 $result_trees{'at_commands_in_raw'}{'contents'}[4]{'contents'}[6]{'parent'} = 
$result_trees{'at_commands_in_raw'}{'contents'}[4];
diff --git a/tp/t/results/formatting/cond.pl b/tp/t/results/formatting/cond.pl
index 1e0cee0eaf..d5ba8760a0 100644
--- a/tp/t/results/formatting/cond.pl
+++ b/tp/t/results/formatting/cond.pl
@@ -224,6 +224,17 @@ $result_trees{'cond'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -231,12 +242,6 @@ $result_trees{'cond'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -267,7 +272,12 @@ $result_trees{'cond'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -366,11 +376,11 @@ 
$result_trees{'cond'}{'contents'}[1]{'contents'}[7]{'parent'} = $result_trees{'c
 $result_trees{'cond'}{'contents'}[1]{'contents'}[8]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[9]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[10]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
+$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'} = 
$result_trees{'cond'}{'contents'}[1]{'contents'}[11];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'} 
= $result_trees{'cond'}{'contents'}[1]{'contents'}[11];
+$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'} 
= $result_trees{'cond'}{'contents'}[1]{'contents'}[11];
-$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'} 
= $result_trees{'cond'}{'contents'}[1]{'contents'}[11];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[11]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[12]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
 $result_trees{'cond'}{'contents'}[1]{'contents'}[13]{'parent'} = 
$result_trees{'cond'}{'contents'}[1];
diff --git a/tp/t/results/formatting/cond_info.pl 
b/tp/t/results/formatting/cond_info.pl
index 0f0af4d72b..65511e8b38 100644
--- a/tp/t/results/formatting/cond_info.pl
+++ b/tp/t/results/formatting/cond_info.pl
@@ -98,6 +98,17 @@ $result_trees{'cond_info'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -105,12 +116,6 @@ $result_trees{'cond_info'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -141,7 +146,12 @@ $result_trees{'cond_info'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 6,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -208,6 +218,17 @@ $result_trees{'cond_info'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -215,12 +236,6 @@ $result_trees{'cond_info'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -251,7 +266,12 @@ $result_trees{'cond_info'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -332,11 +352,11 @@ $result_trees{'cond_info'}{'contents'}[0]{'parent'} = 
$result_trees{'cond_info'}
 $result_trees{'cond_info'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'cond_info'}{'contents'}[1]{'args'}[0];
 $result_trees{'cond_info'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'} 
= $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
@@ -349,11 +369,11 @@ 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[7]{'parent'} = $result_tre
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[8]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[9]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[10]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'} 
= $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'}
 = $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[11]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[12]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
 $result_trees{'cond_info'}{'contents'}[1]{'contents'}[13]{'parent'} = 
$result_trees{'cond_info'}{'contents'}[1];
diff --git a/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
index 235febc237..d3f4e6d7dc 100644
--- a/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -98,6 +98,17 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -105,12 +116,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -141,7 +146,12 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 6,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -208,6 +218,17 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -215,12 +236,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -251,7 +266,12 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -332,11 +352,11 @@ 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[0]{'parent'}
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
@@ -349,11 +369,11 @@ 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[10]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'}
 = 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[12]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[13]{'parent'}
 = $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
diff --git a/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
index 6ac2cf29e5..3e0b62d00a 100644
--- a/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -98,6 +98,17 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -105,12 +116,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -141,7 +146,12 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 6,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -208,6 +218,17 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -215,12 +236,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -251,7 +266,12 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -332,11 +352,11 @@ 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[0]{'parent'} = $r
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
@@ -349,11 +369,11 @@ 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[8]
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[10]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'}
 = 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[11]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[12]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
 
$result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1]{'contents'}[13]{'parent'}
 = $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'}{'contents'}[1];
diff --git a/tp/t/results/formatting/cond_xml.pl 
b/tp/t/results/formatting/cond_xml.pl
index 3edf9506e4..7d5db3839a 100644
--- a/tp/t/results/formatting/cond_xml.pl
+++ b/tp/t/results/formatting/cond_xml.pl
@@ -98,6 +98,17 @@ $result_trees{'cond_xml'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -105,12 +116,6 @@ $result_trees{'cond_xml'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -141,7 +146,12 @@ $result_trees{'cond_xml'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 6,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -208,6 +218,17 @@ $result_trees{'cond_xml'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -215,12 +236,6 @@ $result_trees{'cond_xml'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -251,7 +266,12 @@ $result_trees{'cond_xml'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -332,11 +352,11 @@ $result_trees{'cond_xml'}{'contents'}[0]{'parent'} = 
$result_trees{'cond_xml'};
 $result_trees{'cond_xml'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1]{'args'}[0];
 $result_trees{'cond_xml'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
@@ -349,11 +369,11 @@ 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[8]{'contents'}[0]{'parent'}
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[8]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[9]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[10]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'} 
= $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'}
 = $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[11]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[12]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
 $result_trees{'cond_xml'}{'contents'}[1]{'contents'}[13]{'parent'} = 
$result_trees{'cond_xml'}{'contents'}[1];
diff --git a/tp/t/results/formatting/texi_cond.pl 
b/tp/t/results/formatting/texi_cond.pl
index 55c5525c1e..b5e3cfa073 100644
--- a/tp/t/results/formatting/texi_cond.pl
+++ b/tp/t/results/formatting/texi_cond.pl
@@ -224,6 +224,17 @@ $result_trees{'texi_cond'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'tex',
           'contents' => [
             {
@@ -231,12 +242,6 @@ $result_trees{'texi_cond'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -267,7 +272,12 @@ $result_trees{'texi_cond'} = {
               }
             }
           ],
-          'parent' => {}
+          'parent' => {},
+          'source_info' => {
+            'file_name' => 'cond.texi',
+            'line_nr' => 28,
+            'macro' => ''
+          }
         },
         {
           'parent' => {},
@@ -366,11 +376,11 @@ 
$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[7]{'parent'} = $result_tre
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[8]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[9]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[10]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
+$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'args'}[0]{'parent'} 
= $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11];
 
$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[0]{'parent'}
 = $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11];
+$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1];
 
$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[1]{'parent'}
 = $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11];
-$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0];
-$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2];
-$result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'contents'}[2]{'parent'}
 = $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11];
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[11]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[12]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
 $result_trees{'texi_cond'}{'contents'}[1]{'contents'}[13]{'parent'} = 
$result_trees{'texi_cond'}{'contents'}[1];
diff --git a/tp/t/results/raw/beginning_and_end_on_line.pl 
b/tp/t/results/raw/beginning_and_end_on_line.pl
index 2163aeaa51..04c25efc77 100644
--- a/tp/t/results/raw/beginning_and_end_on_line.pl
+++ b/tp/t/results/raw/beginning_and_end_on_line.pl
@@ -138,26 +138,59 @@ $result_trees{'beginning_and_end_on_line'} = {
           'type' => 'empty_line'
         },
         {
-          'cmdname' => 'html',
-          'contents' => [
-            {
-              'contents' => [],
-              'parent' => {},
-              'type' => 'elided_block'
-            },
+          'args' => [
             {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'in html '
+                }
+              ],
               'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'html',
+          'contents' => [
             {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'html'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'html'
+              },
               'parent' => {},
-              'text' => '',
-              'type' => 'empty_line'
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 6,
+                'macro' => ''
+              }
             }
           ],
-          'parent' => {}
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 6,
+            'macro' => ''
+          }
         }
       ],
       'parent' => {},
@@ -181,9 +214,11 @@ 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[3]{'conten
 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[3];
 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0];
 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0];
+$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5];
+$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'args'}[0];
+$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0];
 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5];
-$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5];
-$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'beginning_and_end_on_line'}{'contents'}[0];
 $result_trees{'beginning_and_end_on_line'}{'contents'}[0]{'parent'} = 
$result_trees{'beginning_and_end_on_line'};
 
@@ -192,7 +227,7 @@ $result_texis{'beginning_and_end_on_line'} = '
 
 @verbatim in verbatim @end verbatim
 
-@html
+@html in html @end html
 ';
 
 
@@ -221,13 +256,13 @@ $result_errors{'beginning_and_end_on_line'} = [
     'type' => 'warning'
   },
   {
-    'error_line' => 'no matching `@end html\'
+    'error_line' => 'warning: @end should only appear at the beginning of a 
line
 ',
     'file_name' => '',
     'line_nr' => 6,
     'macro' => '',
-    'text' => 'no matching `@end html\'',
-    'type' => 'error'
+    'text' => '@end should only appear at the beginning of a line',
+    'type' => 'warning'
   }
 ];
 
diff --git a/tp/t/results/raw/spurious_arg_on_line.pl 
b/tp/t/results/raw/spurious_arg_on_line.pl
index 3ac4c16338..ad7f56056e 100644
--- a/tp/t/results/raw/spurious_arg_on_line.pl
+++ b/tp/t/results/raw/spurious_arg_on_line.pl
@@ -158,6 +158,22 @@ $result_trees{'spurious_arg_on_line'} = {
           'type' => 'empty_line'
         },
         {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'argh'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
           'cmdname' => 'html',
           'contents' => [
             {
@@ -165,12 +181,6 @@ $result_trees{'spurious_arg_on_line'} = {
               'parent' => {},
               'type' => 'elided_block'
             },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
             {
               'args' => [
                 {
@@ -201,7 +211,15 @@ $result_trees{'spurious_arg_on_line'} = {
               }
             }
           ],
-          'parent' => {}
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 10,
+            'macro' => ''
+          }
         }
       ],
       'parent' => {},
@@ -228,11 +246,12 @@ 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[3]{'contents'}[
 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[3];
 $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'spurious_arg_on_line'}{'contents'}[0];
 $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'spurious_arg_on_line'}{'contents'}[0];
+$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5];
 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5];
+$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'args'}[0];
+$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1];
 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5];
-$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0];
-$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
-$result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5];
 $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'contents'}[5]{'parent'} 
= $result_trees{'spurious_arg_on_line'}{'contents'}[0];
 $result_trees{'spurious_arg_on_line'}{'contents'}[0]{'parent'} = 
$result_trees{'spurious_arg_on_line'};
 
@@ -245,7 +264,7 @@ in tex
 in verbatim
 @end verbatim
 
-@html
+@html argh
 @end html
 ';
 



reply via email to

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