texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Sun, 29 Sep 2024 03:01:54 -0400 (EDT)

branch: master
commit 56ad552254c0e070fb4cef2cd89113040422ee57
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Jun 7 13:39:56 2024 +0200

    * tp/Texinfo/ParserNonXS.pm (_expand_macro_arguments),
    tp/Texinfo/XS/parsetexi/macro.c (expand_macro_arguments): associate
    spaces_before_argument with brace argument, not with command call.
    
    * tp/Texinfo/ParserNonXS.pm (_expand_linemacro_arguments),
    tp/Texinfo/XS/parsetexi/macro.c (expand_linemacro_arguments): set
    argument type to line_arg.  Put first spaces_before_argument in
    linemacro_call, similar to other line commands.
---
 ChangeLog                                          | 11 ++++
 tp/TODO                                            |  8 ++-
 tp/Texinfo/ParserNonXS.pm                          | 14 +++--
 tp/Texinfo/XS/parsetexi/macro.c                    | 10 ++--
 tp/t/results/linemacro/api_doc_with_linemacro.pl   | 67 +++++++++++-----------
 .../linemacro/arobase_brace_in_linemacro_call.pl   | 12 ++--
 .../linemacro/begin_conditional_in_linemacro.pl    | 22 ++++---
 .../linemacro/block_begin_end_in_linemacro_call.pl | 66 ++++++++++-----------
 tp/t/results/linemacro/blockitem_no_item.pl        | 17 +++---
 tp/t/results/linemacro/brace_command_not_closed.pl | 11 ++--
 tp/t/results/linemacro/braces_after_text.pl        | 17 +++---
 .../linemacro/call_macro_in_linemacro_body.pl      | 14 ++---
 .../linemacro/call_macro_in_linemacro_call.pl      | 14 ++---
 .../linemacro/comment_at_end_of_linemacro_call.pl  | 14 ++---
 .../results/linemacro/comment_in_linemacro_call.pl | 14 ++---
 .../comment_in_one_argument_linemacro_call.pl      | 11 ++--
 .../comment_on_linemacro_call_macro_expansion.pl   | 24 ++++----
 .../comment_on_linemacro_call_out_of_braces.pl     | 34 +++++------
 tp/t/results/linemacro/empty_last_argument.pl      | 39 ++++++-------
 .../linemacro/end_conditional_in_linemacro.pl      | 11 ++--
 .../results/linemacro/last_argument_with_braces.pl | 42 +++++++-------
 tp/t/results/linemacro/nested_linemacro_calls.pl   | 45 ++++++++-------
 .../linemacro/newline_and_continuation_in_brace.pl | 17 +++---
 tp/t/results/linemacro/no_arguments.pl             | 25 ++++----
 tp/t/results/linemacro/paragraph_no_paragraph.pl   | 34 +++++------
 tp/t/results/linemacro/protected_spaces_on_line.pl | 42 +++++++-------
 .../protection_of_end_of_line_by_command.pl        | 11 ++--
 .../linemacro/recursive_linemacro_in_body.pl       | 14 ++---
 .../linemacro/recursive_linemacro_in_call.pl       | 14 ++---
 .../linemacro/simple_nested_linemacro_calls.pl     | 34 +++++------
 .../linemacro/spaces_after_command_in_call.pl      | 17 +++---
 ...paces_after_macro_linemacro_commands_in_call.pl | 40 +++++++------
 .../spaces_after_unknown_command_in_call.pl        | 17 +++---
 tp/t/results/linemacro/spaces_in_args.pl           | 17 +++---
 tp/t/results/linemacro/spaces_in_call.pl           |  3 +-
 tp/t/results/linemacro/text_arguments.pl           | 17 +++---
 tp/t/results/linemacro/verb_in_linemacro_call.pl   | 20 ++++---
 tp/t/results/linemacro/verb_not_closed.pl          | 11 ++--
 .../verb_with_arobase_in_linemacro_call.pl         | 11 ++--
 .../linemacro/verb_with_brace_in_linemacro_call.pl | 17 +++---
 tp/t/results/macro/arg_not_closed.pl               | 10 ++--
 tp/t/results/macro/arobase_brace_in_macro_call.pl  | 20 ++++---
 tp/t/results/macro/cpp_directives_in_macro.pl      | 12 ++--
 tp/t/results/macro/empty_macro_argument.pl         | 60 +++++++++++--------
 tp/t/results/macro/expand_two_same.pl              | 16 ++++--
 tp/t/results/macro/form_feeds.pl                   |  8 ++-
 tp/t/results/macro/ifclear_in_macro.pl             | 12 ++--
 tp/t/results/macro/ifset_in_macro.pl               | 12 ++--
 tp/t/results/macro/ifset_in_macro_set.pl           | 12 ++--
 tp/t/results/macro/macro_call_empty_two_arg.pl     | 50 +++++++++-------
 tp/t/results/macro/protect_in_body.pl              |  8 ++-
 tp/t/results/macro/protect_in_body_one_arg.pl      |  8 ++-
 .../value_and_macro/comma_value_in_macro_arg.pl    |  8 ++-
 53 files changed, 593 insertions(+), 521 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 697f0f1cba..0a3406efe8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2024-06-07  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/ParserNonXS.pm (_expand_macro_arguments),
+       tp/Texinfo/XS/parsetexi/macro.c (expand_macro_arguments): associate
+       spaces_before_argument with brace argument, not with command call.
+
+       * tp/Texinfo/ParserNonXS.pm (_expand_linemacro_arguments),
+       tp/Texinfo/XS/parsetexi/macro.c (expand_linemacro_arguments): set
+       argument type to line_arg.  Put first spaces_before_argument in
+       linemacro_call, similar to other line commands.
+
 2024-06-07  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/main/element_types.awk,
diff --git a/tp/TODO b/tp/TODO
index 60e78bfeba..155129d125 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -76,10 +76,12 @@ Gavin and Patrice
 char *alias_of
 char *command_info_string (for arg_line or command_name or @verb delimiter)
 ELEMENT *elements[3]
-in block_command line_command
- spaces_after_cmd_before_arg (brace commands) or comment_at_end (line/block 
commands)
+ spaces_after_cmd_before_arg (brace commands) or comment_at_end (line/block 
commands args)
 for type brace_arg, line and block commands, BRACE_context commands
- spaces_before_argument, spaces_after_argument
+   bracketed_arg line_arg (after comma or in linemacro_call) ET_linemacro_call
+ spaces_before_argument
+line/block commands args brace_arg
+ spaces_after_argument
 
 3) make building "source marks" optional.
   With 8 byte pointers and integers, the 24 byte section of ELEMENT relating
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 59915dff53..0135933a5c 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -2662,8 +2662,8 @@ sub _expand_macro_arguments($$$$$)
 
   $line =~ s/^{(\s*)//;
   if ($1 ne '') {
-    $current->{'info'} = {} if (!$current->{'info'});
-    $current->{'info'}->{'spaces_before_argument'} = {'text' => $1};
+    $argument->{'info'} = {} if (!$current->{'info'});
+    $argument->{'info'}->{'spaces_before_argument'} = {'text' => $1};
   }
 
   while (1) {
@@ -2755,7 +2755,8 @@ sub _expand_linemacro_arguments($$$$$)
   my ($self, $macro, $line, $source_info, $current) = @_;
 
   my $braces_level = 0;
-  my $argument = {'contents' => [],
+  my $argument = {'type' => 'line_arg',
+                  'contents' => [],
                   'parent' => $current};
   push @{$current->{'args'}}, $argument;
   my $argument_content = {'text' => '',
@@ -2763,8 +2764,8 @@ sub _expand_linemacro_arguments($$$$$)
   push @{$argument->{'contents'}}, $argument_content;
   # based on whitespace_chars_except_newline in XS parser
   if ($line =~ s/^([ \t\cK\f]+)//) {
-    $argument->{'info'}
-      = {'spaces_before_argument' => {'text' => $1}};
+    $current->{'info'} = {} if (!$current->{'info'});
+    $current->{'info'}->{'spaces_before_argument'} = {'text' => $1};
   }
   my $args_total = scalar(@{$macro->{'args'}}) -1;
   my $name = $macro->{'args'}->[0]->{'text'};
@@ -2813,7 +2814,8 @@ sub _expand_linemacro_arguments($$$$$)
             or scalar(@{$current->{'args'}}) >= $args_total) {
           $argument_content->{'text'} .= $separator;
         } else {
-          $argument = {'contents' => [],
+          $argument = {'type' => 'line_arg',
+                       'contents' => [],
                        'parent' => $current};
           push @{$current->{'args'}}, $argument;
           $argument_content = {'text' => '',
diff --git a/tp/Texinfo/XS/parsetexi/macro.c b/tp/Texinfo/XS/parsetexi/macro.c
index 73b0eb2a51..58eef65cd4 100644
--- a/tp/Texinfo/XS/parsetexi/macro.c
+++ b/tp/Texinfo/XS/parsetexi/macro.c
@@ -316,7 +316,6 @@ expand_macro_arguments (const ELEMENT *macro, const char 
**line_inout,
   ELEMENT *argument_content = new_text_element (ET_other_text);
 
   add_to_element_args (current, argument);
-  text_append_n (argument_content->text, "", 0);
   add_to_element_contents (argument, argument_content);
   arg = argument_content->text;
 
@@ -329,7 +328,7 @@ expand_macro_arguments (const ELEMENT *macro, const char 
**line_inout,
     {
       ELEMENT *spaces_element = new_text_element (ET_other_text);
       text_append_n (spaces_element->text, pline, whitespaces_len);
-      add_info_element_oot (current, "spaces_before_argument",
+      add_info_element_oot (argument, "spaces_before_argument",
                             spaces_element);
       pline += whitespaces_len;
     }
@@ -466,8 +465,7 @@ expand_linemacro_arguments (const ELEMENT *macro, const 
char **line_inout,
   int args_total;
   int spaces_nr;
   int i;
-  /* FIXME add a type with spaces_before_argument */
-  ELEMENT *argument = new_element (ET_NONE);
+  ELEMENT *argument = new_element (ET_line_arg);
   ELEMENT *argument_content = new_text_element (ET_other_text);
   counter_reset (&count_toplevel_braces, 0);
   counter_push (&count_toplevel_braces, argument_content, 0);
@@ -481,7 +479,7 @@ expand_linemacro_arguments (const ELEMENT *macro, const 
char **line_inout,
     {
       ELEMENT *spaces_element = new_text_element (ET_other_text);
       text_append_n (spaces_element->text, line, spaces_nr);
-      add_info_element_oot (argument, "spaces_before_argument",
+      add_info_element_oot (current, "spaces_before_argument",
                             spaces_element);
 
       pline += spaces_nr;
@@ -604,7 +602,7 @@ expand_linemacro_arguments (const ELEMENT *macro, const 
char **line_inout,
               set_toplevel_braces_nr (&count_toplevel_braces,
                                       argument_content);
 
-              argument = new_element (ET_NONE);
+              argument = new_element (ET_line_arg);
               argument_content = new_text_element (ET_other_text);
               counter_push (&count_toplevel_braces, argument_content, 0);
 
diff --git a/tp/t/results/linemacro/api_doc_with_linemacro.pl 
b/tp/t/results/linemacro/api_doc_with_linemacro.pl
index eaf053acf1..ff4e023f02 100644
--- a/tp/t/results/linemacro/api_doc_with_linemacro.pl
+++ b/tp/t/results/linemacro/api_doc_with_linemacro.pl
@@ -513,11 +513,7 @@ $result_trees{'api_doc_with_linemacro'} = {
                                         'text' => 'a'
                                       }
                                     ],
-                                    'info' => {
-                                      'spaces_before_argument' => {
-                                        'text' => ' '
-                                      }
-                                    }
+                                    'type' => 'line_arg'
                                   },
                                   {
                                     'contents' => [
@@ -529,11 +525,15 @@ $result_trees{'api_doc_with_linemacro'} = {
                                       'spaces_before_argument' => {
                                         'text' => ' '
                                       }
-                                    }
+                                    },
+                                    'type' => 'line_arg'
                                   }
                                 ],
                                 'info' => {
-                                  'command_name' => 'param'
+                                  'command_name' => 'param',
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
                                 },
                                 'type' => 'linemacro_call'
                               },
@@ -683,11 +683,7 @@ $result_trees{'api_doc_with_linemacro'} = {
                                         'text' => 'n'
                                       }
                                     ],
-                                    'info' => {
-                                      'spaces_before_argument' => {
-                                        'text' => ' '
-                                      }
-                                    }
+                                    'type' => 'line_arg'
                                   },
                                   {
                                     'contents' => [
@@ -699,11 +695,15 @@ $result_trees{'api_doc_with_linemacro'} = {
                                       'spaces_before_argument' => {
                                         'text' => ' '
                                       }
-                                    }
+                                    },
+                                    'type' => 'line_arg'
                                   }
                                 ],
                                 'info' => {
-                                  'command_name' => 'param'
+                                  'command_name' => 'param',
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
                                 },
                                 'type' => 'linemacro_call'
                               },
@@ -879,11 +879,7 @@ $result_trees{'api_doc_with_linemacro'} = {
                                         'text' => 'axis'
                                       }
                                     ],
-                                    'info' => {
-                                      'spaces_before_argument' => {
-                                        'text' => ' '
-                                      }
-                                    }
+                                    'type' => 'line_arg'
                                   },
                                   {
                                     'contents' => [
@@ -895,11 +891,15 @@ $result_trees{'api_doc_with_linemacro'} = {
                                       'spaces_before_argument' => {
                                         'text' => ' '
                                       }
-                                    }
+                                    },
+                                    'type' => 'line_arg'
                                   }
                                 ],
                                 'info' => {
-                                  'command_name' => 'param'
+                                  'command_name' => 'param',
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
                                 },
                                 'type' => 'linemacro_call'
                               },
@@ -1052,11 +1052,7 @@ $result_trees{'api_doc_with_linemacro'} = {
                                         'text' => 'out'
                                       }
                                     ],
-                                    'info' => {
-                                      'spaces_before_argument' => {
-                                        'text' => ' '
-                                      }
-                                    }
+                                    'type' => 'line_arg'
                                   },
                                   {
                                     'contents' => [
@@ -1068,11 +1064,15 @@ $result_trees{'api_doc_with_linemacro'} = {
                                       'spaces_before_argument' => {
                                         'text' => ' '
                                       }
-                                    }
+                                    },
+                                    'type' => 'line_arg'
                                   }
                                 ],
                                 'info' => {
-                                  'command_name' => 'returns'
+                                  'command_name' => 'returns',
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
                                 },
                                 'type' => 'linemacro_call'
                               },
@@ -1229,15 +1229,14 @@ $result_trees{'api_doc_with_linemacro'} = {
                                         'text' => 'IndexError'
                                       }
                                     ],
-                                    'info' => {
-                                      'spaces_before_argument' => {
-                                        'text' => ' '
-                                      }
-                                    }
+                                    'type' => 'line_arg'
                                   }
                                 ],
                                 'info' => {
-                                  'command_name' => 'raises'
+                                  'command_name' => 'raises',
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
                                 },
                                 'type' => 'linemacro_call'
                               },
diff --git a/tp/t/results/linemacro/arobase_brace_in_linemacro_call.pl 
b/tp/t/results/linemacro/arobase_brace_in_linemacro_call.pl
index f4017c7c1c..2e9a482b65 100644
--- a/tp/t/results/linemacro/arobase_brace_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/arobase_brace_in_linemacro_call.pl
@@ -87,7 +87,8 @@ $result_trees{'arobase_brace_in_linemacro_call'} = {
                         'text' => ' @{ ',
                         'type' => 'bracketed_linemacro_arg'
                       }
-                    ]
+                    ],
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -100,7 +101,8 @@ $result_trees{'arobase_brace_in_linemacro_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
@@ -162,7 +164,8 @@ $result_trees{'arobase_brace_in_linemacro_call'} = {
                         'text' => ' @} ',
                         'type' => 'bracketed_linemacro_arg'
                       }
-                    ]
+                    ],
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -175,7 +178,8 @@ $result_trees{'arobase_brace_in_linemacro_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
diff --git a/tp/t/results/linemacro/begin_conditional_in_linemacro.pl 
b/tp/t/results/linemacro/begin_conditional_in_linemacro.pl
index c6b87e3580..f365f9f11d 100644
--- a/tp/t/results/linemacro/begin_conditional_in_linemacro.pl
+++ b/tp/t/results/linemacro/begin_conditional_in_linemacro.pl
@@ -80,15 +80,14 @@ $result_trees{'begin_conditional_in_linemacro'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -204,15 +203,14 @@ $result_trees{'begin_conditional_in_linemacro'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/block_begin_end_in_linemacro_call.pl 
b/tp/t/results/linemacro/block_begin_end_in_linemacro_call.pl
index 7e78be67a4..6d326e49d0 100644
--- a/tp/t/results/linemacro/block_begin_end_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/block_begin_end_in_linemacro_call.pl
@@ -82,15 +82,14 @@ in quotation
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -233,15 +232,14 @@ in quotation
                             'type' => 'bracketed_linemacro_arg'
                           }
                         ],
-                        'info' => {
-                          'spaces_before_argument' => {
-                            'text' => ' '
-                          }
-                        }
+                        'type' => 'line_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'lm'
+                      'command_name' => 'lm',
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
                     },
                     'type' => 'linemacro_call'
                   },
@@ -341,15 +339,14 @@ in quotation
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -477,15 +474,14 @@ ignored ',
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -596,15 +592,14 @@ args \\e\\|\\f\\|
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -895,15 +890,14 @@ args \\e\\|\\f\\|
                                 'text' => '{arg1} {arg2}'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'lm'
+                          'command_name' => 'lm',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/blockitem_no_item.pl 
b/tp/t/results/linemacro/blockitem_no_item.pl
index 010990fb24..a34ee7da2c 100644
--- a/tp/t/results/linemacro/blockitem_no_item.pl
+++ b/tp/t/results/linemacro/blockitem_no_item.pl
@@ -117,11 +117,7 @@ $result_trees{'blockitem_no_item'} = {
                                     'text' => 'd'
                                   }
                                 ],
-                                'info' => {
-                                  'spaces_before_argument' => {
-                                    'text' => ' '
-                                  }
-                                }
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -133,7 +129,8 @@ $result_trees{'blockitem_no_item'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -146,11 +143,15 @@ $result_trees{'blockitem_no_item'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               }
                             ],
                             'info' => {
-                              'command_name' => 'mycommand'
+                              'command_name' => 'mycommand',
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
                             },
                             'type' => 'linemacro_call'
                           },
diff --git a/tp/t/results/linemacro/brace_command_not_closed.pl 
b/tp/t/results/linemacro/brace_command_not_closed.pl
index 989594332c..92c8cc699b 100644
--- a/tp/t/results/linemacro/brace_command_not_closed.pl
+++ b/tp/t/results/linemacro/brace_command_not_closed.pl
@@ -88,15 +88,14 @@ $result_trees{'brace_command_not_closed'} = {
 '
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mycommand'
+                  'command_name' => 'mycommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/braces_after_text.pl 
b/tp/t/results/linemacro/braces_after_text.pl
index fa591dc8c4..d88fd0c917 100644
--- a/tp/t/results/linemacro/braces_after_text.pl
+++ b/tp/t/results/linemacro/braces_after_text.pl
@@ -107,11 +107,7 @@ $result_trees{'braces_after_text'} = {
                                 'text' => 'text{in paren}'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -123,7 +119,8 @@ $result_trees{'braces_after_text'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -136,11 +133,15 @@ $result_trees{'braces_after_text'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'mymacro'
+                          'command_name' => 'mymacro',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/call_macro_in_linemacro_body.pl 
b/tp/t/results/linemacro/call_macro_in_linemacro_body.pl
index 41962772a0..f3ba492fb0 100644
--- a/tp/t/results/linemacro/call_macro_in_linemacro_body.pl
+++ b/tp/t/results/linemacro/call_macro_in_linemacro_body.pl
@@ -169,11 +169,7 @@ $result_trees{'call_macro_in_linemacro_body'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -187,11 +183,15 @@ $result_trees{'call_macro_in_linemacro_body'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/call_macro_in_linemacro_call.pl 
b/tp/t/results/linemacro/call_macro_in_linemacro_call.pl
index 130b5bd67a..52e979ce16 100644
--- a/tp/t/results/linemacro/call_macro_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/call_macro_in_linemacro_call.pl
@@ -166,11 +166,7 @@ $result_trees{'call_macro_in_linemacro_call'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -182,11 +178,15 @@ $result_trees{'call_macro_in_linemacro_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/comment_at_end_of_linemacro_call.pl 
b/tp/t/results/linemacro/comment_at_end_of_linemacro_call.pl
index 428aac3571..141b3d6ba3 100644
--- a/tp/t/results/linemacro/comment_at_end_of_linemacro_call.pl
+++ b/tp/t/results/linemacro/comment_at_end_of_linemacro_call.pl
@@ -99,11 +99,7 @@ $result_trees{'comment_at_end_of_linemacro_call'} = {
                                     'type' => 'bracketed_linemacro_arg'
                                   }
                                 ],
-                                'info' => {
-                                  'spaces_before_argument' => {
-                                    'text' => ' '
-                                  }
-                                }
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -115,11 +111,15 @@ $result_trees{'comment_at_end_of_linemacro_call'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               }
                             ],
                             'info' => {
-                              'command_name' => 'lm'
+                              'command_name' => 'lm',
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
                             },
                             'type' => 'linemacro_call'
                           },
diff --git a/tp/t/results/linemacro/comment_in_linemacro_call.pl 
b/tp/t/results/linemacro/comment_in_linemacro_call.pl
index 2f7aeaa3ef..4103aa02bc 100644
--- a/tp/t/results/linemacro/comment_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/comment_in_linemacro_call.pl
@@ -88,11 +88,7 @@ $result_trees{'comment_in_linemacro_call'} = {
 something @comment in}'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -104,11 +100,15 @@ something @comment in}'
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/comment_in_one_argument_linemacro_call.pl 
b/tp/t/results/linemacro/comment_in_one_argument_linemacro_call.pl
index 22edaedb17..f463b62db5 100644
--- a/tp/t/results/linemacro/comment_in_one_argument_linemacro_call.pl
+++ b/tp/t/results/linemacro/comment_in_one_argument_linemacro_call.pl
@@ -78,15 +78,14 @@ $result_trees{'comment_in_one_argument_linemacro_call'} = {
                         'text' => '@code{something @comment in} out'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git 
a/tp/t/results/linemacro/comment_on_linemacro_call_macro_expansion.pl 
b/tp/t/results/linemacro/comment_on_linemacro_call_macro_expansion.pl
index 276176e736..b852130ba3 100644
--- a/tp/t/results/linemacro/comment_on_linemacro_call_macro_expansion.pl
+++ b/tp/t/results/linemacro/comment_on_linemacro_call_macro_expansion.pl
@@ -154,6 +154,12 @@ $result_trees{'comment_on_linemacro_call_macro_expansion'} 
= {
                         'text' => '@lm {a} @c in comment'
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '
+'
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
@@ -161,10 +167,6 @@ $result_trees{'comment_on_linemacro_call_macro_expansion'} 
= {
                   'command_name' => 'mymacro',
                   'spaces_after_cmd_before_arg' => {
                     'text' => ' '
-                  },
-                  'spaces_before_argument' => {
-                    'text' => '
-'
                   }
                 },
                 'type' => 'macro_call'
@@ -193,11 +195,7 @@ $result_trees{'comment_on_linemacro_call_macro_expansion'} 
= {
                             'type' => 'bracketed_linemacro_arg'
                           }
                         ],
-                        'info' => {
-                          'spaces_before_argument' => {
-                            'text' => ' '
-                          }
-                        }
+                        'type' => 'line_arg'
                       },
                       {
                         'contents' => [
@@ -209,11 +207,15 @@ 
$result_trees{'comment_on_linemacro_call_macro_expansion'} = {
                           'spaces_before_argument' => {
                             'text' => ' '
                           }
-                        }
+                        },
+                        'type' => 'line_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'lm'
+                      'command_name' => 'lm',
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
                     },
                     'type' => 'linemacro_call'
                   },
diff --git a/tp/t/results/linemacro/comment_on_linemacro_call_out_of_braces.pl 
b/tp/t/results/linemacro/comment_on_linemacro_call_out_of_braces.pl
index 791f536873..78b4998951 100644
--- a/tp/t/results/linemacro/comment_on_linemacro_call_out_of_braces.pl
+++ b/tp/t/results/linemacro/comment_on_linemacro_call_out_of_braces.pl
@@ -97,11 +97,7 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -113,11 +109,15 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} 
= {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -175,7 +175,8 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} = {
                       {
                         'text' => ''
                       }
-                    ]
+                    ],
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
@@ -240,11 +241,7 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} = 
{
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -256,7 +253,8 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -268,11 +266,15 @@ $result_trees{'comment_on_linemacro_call_out_of_braces'} 
= {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/empty_last_argument.pl 
b/tp/t/results/linemacro/empty_last_argument.pl
index 4060cb920e..0d32b1e35c 100644
--- a/tp/t/results/linemacro/empty_last_argument.pl
+++ b/tp/t/results/linemacro/empty_last_argument.pl
@@ -140,11 +140,7 @@ $result_trees{'empty_last_argument'} = {
                                 'text' => 'foo'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -157,11 +153,15 @@ $result_trees{'empty_last_argument'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -293,15 +293,14 @@ $result_trees{'empty_last_argument'} = {
                                 'text' => 'foo'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -436,11 +435,7 @@ $result_trees{'empty_last_argument'} = {
                                 'text' => 'foo'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -453,11 +448,15 @@ $result_trees{'empty_last_argument'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/end_conditional_in_linemacro.pl 
b/tp/t/results/linemacro/end_conditional_in_linemacro.pl
index 1bc1a4bf9d..bb34e91299 100644
--- a/tp/t/results/linemacro/end_conditional_in_linemacro.pl
+++ b/tp/t/results/linemacro/end_conditional_in_linemacro.pl
@@ -113,15 +113,14 @@ $result_trees{'end_conditional_in_linemacro'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/last_argument_with_braces.pl 
b/tp/t/results/linemacro/last_argument_with_braces.pl
index ff9c1c18fb..1970c9509f 100644
--- a/tp/t/results/linemacro/last_argument_with_braces.pl
+++ b/tp/t/results/linemacro/last_argument_with_braces.pl
@@ -109,11 +109,7 @@ $result_trees{'last_argument_with_braces'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -125,11 +121,15 @@ $result_trees{'last_argument_with_braces'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -421,11 +421,7 @@ $result_trees{'last_argument_with_braces'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -437,11 +433,15 @@ $result_trees{'last_argument_with_braces'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -684,11 +684,7 @@ $result_trees{'last_argument_with_braces'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -700,11 +696,15 @@ $result_trees{'last_argument_with_braces'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'defbuiltin'
+                          'command_name' => 'defbuiltin',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/nested_linemacro_calls.pl 
b/tp/t/results/linemacro/nested_linemacro_calls.pl
index f0a174dbad..a1cb8bdc32 100644
--- a/tp/t/results/linemacro/nested_linemacro_calls.pl
+++ b/tp/t/results/linemacro/nested_linemacro_calls.pl
@@ -179,11 +179,7 @@ $result_trees{'nested_linemacro_calls'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -196,7 +192,8 @@ $result_trees{'nested_linemacro_calls'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -208,11 +205,15 @@ $result_trees{'nested_linemacro_calls'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'outside'
+                          'command_name' => 'outside',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -263,11 +264,7 @@ $result_trees{'nested_linemacro_calls'} = {
                                             'type' => 'bracketed_linemacro_arg'
                                           }
                                         ],
-                                        'info' => {
-                                          'spaces_before_argument' => {
-                                            'text' => ' '
-                                          }
-                                        }
+                                        'type' => 'line_arg'
                                       },
                                       {
                                         'contents' => [
@@ -279,11 +276,15 @@ $result_trees{'nested_linemacro_calls'} = {
                                           'spaces_before_argument' => {
                                             'text' => ' '
                                           }
-                                        }
+                                        },
+                                        'type' => 'line_arg'
                                       }
                                     ],
                                     'info' => {
-                                      'command_name' => 'inside'
+                                      'command_name' => 'inside',
+                                      'spaces_before_argument' => {
+                                        'text' => ' '
+                                      }
                                     },
                                     'type' => 'linemacro_call'
                                   },
@@ -461,11 +462,7 @@ $result_trees{'nested_linemacro_calls'} = {
                                     'type' => 'bracketed_linemacro_arg'
                                   }
                                 ],
-                                'info' => {
-                                  'spaces_before_argument' => {
-                                    'text' => ' '
-                                  }
-                                }
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -486,11 +483,15 @@ $result_trees{'nested_linemacro_calls'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               }
                             ],
                             'info' => {
-                              'command_name' => 'inside'
+                              'command_name' => 'inside',
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
                             },
                             'type' => 'linemacro_call'
                           },
diff --git a/tp/t/results/linemacro/newline_and_continuation_in_brace.pl 
b/tp/t/results/linemacro/newline_and_continuation_in_brace.pl
index 0f94553e71..47db1f6697 100644
--- a/tp/t/results/linemacro/newline_and_continuation_in_brace.pl
+++ b/tp/t/results/linemacro/newline_and_continuation_in_brace.pl
@@ -112,11 +112,7 @@ $result_trees{'newline_and_continuation_in_brace'} = {
                                 'text' => 'a@code{b c}d'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -130,7 +126,8 @@ $result_trees{'newline_and_continuation_in_brace'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -143,11 +140,15 @@ $result_trees{'newline_and_continuation_in_brace'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'mylinecommand'
+                          'command_name' => 'mylinecommand',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/no_arguments.pl 
b/tp/t/results/linemacro/no_arguments.pl
index 211853c7c4..e8c96556d1 100644
--- a/tp/t/results/linemacro/no_arguments.pl
+++ b/tp/t/results/linemacro/no_arguments.pl
@@ -73,7 +73,8 @@ $result_trees{'no_arguments'} = {
                       {
                         'text' => ''
                       }
-                    ]
+                    ],
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
@@ -119,15 +120,14 @@ $result_trees{'no_arguments'} = {
                         'text' => 'A B'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'noarg'
+                  'command_name' => 'noarg',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -170,15 +170,14 @@ $result_trees{'no_arguments'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'noarg'
+                  'command_name' => 'noarg',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/paragraph_no_paragraph.pl 
b/tp/t/results/linemacro/paragraph_no_paragraph.pl
index 4721c05e4a..1a39d1f936 100644
--- a/tp/t/results/linemacro/paragraph_no_paragraph.pl
+++ b/tp/t/results/linemacro/paragraph_no_paragraph.pl
@@ -94,11 +94,7 @@ $result_trees{'paragraph_no_paragraph'} = {
                         'text' => '@anchor{aa}'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -110,7 +106,8 @@ $result_trees{'paragraph_no_paragraph'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -122,11 +119,15 @@ $result_trees{'paragraph_no_paragraph'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mycommand'
+                  'command_name' => 'mycommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -215,11 +216,7 @@ $result_trees{'paragraph_no_paragraph'} = {
                             'type' => 'bracketed_linemacro_arg'
                           }
                         ],
-                        'info' => {
-                          'spaces_before_argument' => {
-                            'text' => ' '
-                          }
-                        }
+                        'type' => 'line_arg'
                       },
                       {
                         'contents' => [
@@ -231,7 +228,8 @@ $result_trees{'paragraph_no_paragraph'} = {
                           'spaces_before_argument' => {
                             'text' => ' '
                           }
-                        }
+                        },
+                        'type' => 'line_arg'
                       },
                       {
                         'contents' => [
@@ -244,11 +242,15 @@ $result_trees{'paragraph_no_paragraph'} = {
                           'spaces_before_argument' => {
                             'text' => ' '
                           }
-                        }
+                        },
+                        'type' => 'line_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mycommand'
+                      'command_name' => 'mycommand',
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
                     },
                     'type' => 'linemacro_call'
                   },
diff --git a/tp/t/results/linemacro/protected_spaces_on_line.pl 
b/tp/t/results/linemacro/protected_spaces_on_line.pl
index d06fbc6665..35117ea628 100644
--- a/tp/t/results/linemacro/protected_spaces_on_line.pl
+++ b/tp/t/results/linemacro/protected_spaces_on_line.pl
@@ -92,11 +92,7 @@ $result_trees{'protected_spaces_on_line'} = {
                         'text' => 'foo'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -109,11 +105,15 @@ $result_trees{'protected_spaces_on_line'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'test'
+                  'command_name' => 'test',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -351,11 +351,7 @@ $result_trees{'protected_spaces_on_line'} = {
                         'text' => 'foo@ b'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -367,11 +363,15 @@ $result_trees{'protected_spaces_on_line'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'test'
+                  'command_name' => 'test',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -634,11 +634,7 @@ $result_trees{'protected_spaces_on_line'} = {
                         'text' => 'foo'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -650,11 +646,15 @@ $result_trees{'protected_spaces_on_line'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'test'
+                  'command_name' => 'test',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/protection_of_end_of_line_by_command.pl 
b/tp/t/results/linemacro/protection_of_end_of_line_by_command.pl
index 091800882b..a2f0da6b70 100644
--- a/tp/t/results/linemacro/protection_of_end_of_line_by_command.pl
+++ b/tp/t/results/linemacro/protection_of_end_of_line_by_command.pl
@@ -79,15 +79,14 @@ $result_trees{'protection_of_end_of_line_by_command'} = {
 '
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'lm'
+                  'command_name' => 'lm',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/recursive_linemacro_in_body.pl 
b/tp/t/results/linemacro/recursive_linemacro_in_body.pl
index cd2b65c01a..11aec42b86 100644
--- a/tp/t/results/linemacro/recursive_linemacro_in_body.pl
+++ b/tp/t/results/linemacro/recursive_linemacro_in_body.pl
@@ -88,11 +88,7 @@ $result_trees{'recursive_linemacro_in_body'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -104,11 +100,15 @@ $result_trees{'recursive_linemacro_in_body'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'anorecurse'
+                  'command_name' => 'anorecurse',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/recursive_linemacro_in_call.pl 
b/tp/t/results/linemacro/recursive_linemacro_in_call.pl
index 90158c08e0..dc5ff7b5b2 100644
--- a/tp/t/results/linemacro/recursive_linemacro_in_call.pl
+++ b/tp/t/results/linemacro/recursive_linemacro_in_call.pl
@@ -88,11 +88,7 @@ $result_trees{'recursive_linemacro_in_call'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -104,11 +100,15 @@ $result_trees{'recursive_linemacro_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'anorecurse'
+                  'command_name' => 'anorecurse',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/simple_nested_linemacro_calls.pl 
b/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
index d414e3d1a9..8dd159047d 100644
--- a/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
+++ b/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
@@ -208,11 +208,7 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -225,7 +221,8 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -237,11 +234,15 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'outside'
+                          'command_name' => 'outside',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
@@ -305,11 +306,7 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                                     'type' => 'bracketed_linemacro_arg'
                                   }
                                 ],
-                                'info' => {
-                                  'spaces_before_argument' => {
-                                    'text' => ' '
-                                  }
-                                }
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -322,7 +319,8 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               },
                               {
                                 'contents' => [
@@ -334,11 +332,15 @@ $result_trees{'simple_nested_linemacro_calls'} = {
                                   'spaces_before_argument' => {
                                     'text' => ' '
                                   }
-                                }
+                                },
+                                'type' => 'line_arg'
                               }
                             ],
                             'info' => {
-                              'command_name' => 'inside'
+                              'command_name' => 'inside',
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
                             },
                             'type' => 'linemacro_call'
                           },
diff --git a/tp/t/results/linemacro/spaces_after_command_in_call.pl 
b/tp/t/results/linemacro/spaces_after_command_in_call.pl
index aba6b009c6..7e7a698092 100644
--- a/tp/t/results/linemacro/spaces_after_command_in_call.pl
+++ b/tp/t/results/linemacro/spaces_after_command_in_call.pl
@@ -96,11 +96,7 @@ $result_trees{'spaces_after_command_in_call'} = {
                         'text' => '@code {d}'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -112,7 +108,8 @@ $result_trees{'spaces_after_command_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -124,11 +121,15 @@ $result_trees{'spaces_after_command_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mylinecommand'
+                  'command_name' => 'mylinecommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git 
a/tp/t/results/linemacro/spaces_after_macro_linemacro_commands_in_call.pl 
b/tp/t/results/linemacro/spaces_after_macro_linemacro_commands_in_call.pl
index 4d271e974a..d9289735a2 100644
--- a/tp/t/results/linemacro/spaces_after_macro_linemacro_commands_in_call.pl
+++ b/tp/t/results/linemacro/spaces_after_macro_linemacro_commands_in_call.pl
@@ -224,11 +224,7 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                         'text' => '@mymac'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -241,7 +237,8 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -253,11 +250,15 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mylinecommand'
+                  'command_name' => 'mylinecommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -453,11 +454,7 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                         'text' => '@mylinemac'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -470,7 +467,8 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -482,11 +480,15 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mylinecommand'
+                  'command_name' => 'mylinecommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
@@ -549,7 +551,8 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                                           {
                                             'text' => '}'
                                           }
-                                        ]
+                                        ],
+                                        'type' => 'line_arg'
                                       },
                                       {
                                         'contents' => [
@@ -561,7 +564,8 @@ 
$result_trees{'spaces_after_macro_linemacro_commands_in_call'} = {
                                           'spaces_before_argument' => {
                                             'text' => ' '
                                           }
-                                        }
+                                        },
+                                        'type' => 'line_arg'
                                       }
                                     ],
                                     'info' => {
diff --git a/tp/t/results/linemacro/spaces_after_unknown_command_in_call.pl 
b/tp/t/results/linemacro/spaces_after_unknown_command_in_call.pl
index 53993fddf5..63f3f169c4 100644
--- a/tp/t/results/linemacro/spaces_after_unknown_command_in_call.pl
+++ b/tp/t/results/linemacro/spaces_after_unknown_command_in_call.pl
@@ -96,11 +96,7 @@ $result_trees{'spaces_after_unknown_command_in_call'} = {
                         'text' => '@abc'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -113,7 +109,8 @@ $result_trees{'spaces_after_unknown_command_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -125,11 +122,15 @@ $result_trees{'spaces_after_unknown_command_in_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mylinecommand'
+                  'command_name' => 'mylinecommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/spaces_in_args.pl 
b/tp/t/results/linemacro/spaces_in_args.pl
index a7e221905e..fdcbd1100b 100644
--- a/tp/t/results/linemacro/spaces_in_args.pl
+++ b/tp/t/results/linemacro/spaces_in_args.pl
@@ -97,11 +97,7 @@ $result_trees{'spaces_in_args'} = {
                         'type' => 'bracketed_linemacro_arg'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -114,7 +110,8 @@ $result_trees{'spaces_in_args'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -127,11 +124,15 @@ $result_trees{'spaces_in_args'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mylinecommand'
+                  'command_name' => 'mylinecommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/spaces_in_call.pl 
b/tp/t/results/linemacro/spaces_in_call.pl
index 7e99e45dcd..4d38b39b55 100644
--- a/tp/t/results/linemacro/spaces_in_call.pl
+++ b/tp/t/results/linemacro/spaces_in_call.pl
@@ -95,7 +95,8 @@ $result_trees{'spaces_in_call'} = {
                       {
                         'text' => '{a b}{c d}{rest}'
                       }
-                    ]
+                    ],
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
diff --git a/tp/t/results/linemacro/text_arguments.pl 
b/tp/t/results/linemacro/text_arguments.pl
index 8617aea5ef..a3bff8e69c 100644
--- a/tp/t/results/linemacro/text_arguments.pl
+++ b/tp/t/results/linemacro/text_arguments.pl
@@ -86,11 +86,7 @@ $result_trees{'text_arguments'} = {
                         'text' => 'X'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -102,7 +98,8 @@ $result_trees{'text_arguments'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -114,11 +111,15 @@ $result_trees{'text_arguments'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'nospace'
+                  'command_name' => 'nospace',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/verb_in_linemacro_call.pl 
b/tp/t/results/linemacro/verb_in_linemacro_call.pl
index 1033dc7089..341c6f7aab 100644
--- a/tp/t/results/linemacro/verb_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/verb_in_linemacro_call.pl
@@ -127,11 +127,7 @@ $result_trees{'verb_in_linemacro_call'} = {
                                 'type' => 'bracketed_linemacro_arg'
                               }
                             ],
-                            'info' => {
-                              'spaces_before_argument' => {
-                                'text' => ' '
-                              }
-                            }
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -143,7 +139,8 @@ $result_trees{'verb_in_linemacro_call'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -156,7 +153,8 @@ $result_trees{'verb_in_linemacro_call'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           },
                           {
                             'contents' => [
@@ -168,11 +166,15 @@ $result_trees{'verb_in_linemacro_call'} = {
                               'spaces_before_argument' => {
                                 'text' => ' '
                               }
-                            }
+                            },
+                            'type' => 'line_arg'
                           }
                         ],
                         'info' => {
-                          'command_name' => 'mycommand'
+                          'command_name' => 'mycommand',
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
                         },
                         'type' => 'linemacro_call'
                       },
diff --git a/tp/t/results/linemacro/verb_not_closed.pl 
b/tp/t/results/linemacro/verb_not_closed.pl
index 5302ccbb9e..e3233daf65 100644
--- a/tp/t/results/linemacro/verb_not_closed.pl
+++ b/tp/t/results/linemacro/verb_not_closed.pl
@@ -88,15 +88,14 @@ $result_trees{'verb_not_closed'} = {
 '
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mycommand'
+                  'command_name' => 'mycommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/verb_with_arobase_in_linemacro_call.pl 
b/tp/t/results/linemacro/verb_with_arobase_in_linemacro_call.pl
index 1e3424422c..33b92a4c2f 100644
--- a/tp/t/results/linemacro/verb_with_arobase_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/verb_with_arobase_in_linemacro_call.pl
@@ -87,15 +87,14 @@ $result_trees{'verb_with_arobase_in_linemacro_call'} = {
 '
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mycommand'
+                  'command_name' => 'mycommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/linemacro/verb_with_brace_in_linemacro_call.pl 
b/tp/t/results/linemacro/verb_with_brace_in_linemacro_call.pl
index 4e561369ff..b62e3cc7a0 100644
--- a/tp/t/results/linemacro/verb_with_brace_in_linemacro_call.pl
+++ b/tp/t/results/linemacro/verb_with_brace_in_linemacro_call.pl
@@ -86,11 +86,7 @@ $result_trees{'verb_with_brace_in_linemacro_call'} = {
                         'text' => '@verb{: in }'
                       }
                     ],
-                    'info' => {
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
-                    }
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -102,7 +98,8 @@ $result_trees{'verb_with_brace_in_linemacro_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   },
                   {
                     'contents' => [
@@ -114,11 +111,15 @@ $result_trees{'verb_with_brace_in_linemacro_call'} = {
                       'spaces_before_argument' => {
                         'text' => ' '
                       }
-                    }
+                    },
+                    'type' => 'line_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'mycommand'
+                  'command_name' => 'mycommand',
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
                 },
                 'type' => 'linemacro_call'
               },
diff --git a/tp/t/results/macro/arg_not_closed.pl 
b/tp/t/results/macro/arg_not_closed.pl
index 990682febb..9af2bc78fc 100644
--- a/tp/t/results/macro/arg_not_closed.pl
+++ b/tp/t/results/macro/arg_not_closed.pl
@@ -86,14 +86,16 @@ $result_trees{'arg_not_closed'} = {
 '
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'foo',
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
+                      'command_name' => 'foo'
                     },
                     'type' => 'macro_call'
                   },
diff --git a/tp/t/results/macro/arobase_brace_in_macro_call.pl 
b/tp/t/results/macro/arobase_brace_in_macro_call.pl
index 95aadf31cb..799c6ab1aa 100644
--- a/tp/t/results/macro/arobase_brace_in_macro_call.pl
+++ b/tp/t/results/macro/arobase_brace_in_macro_call.pl
@@ -87,14 +87,16 @@ $result_trees{'arobase_brace_in_macro_call'} = {
                         'text' => '@{ , @} '
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'simplemac',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'simplemac'
                 },
                 'type' => 'macro_call'
               },
@@ -152,14 +154,16 @@ $result_trees{'arobase_brace_in_macro_call'} = {
                         'text' => '@'
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'simplemac',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'simplemac'
                 },
                 'type' => 'macro_call'
               },
diff --git a/tp/t/results/macro/cpp_directives_in_macro.pl 
b/tp/t/results/macro/cpp_directives_in_macro.pl
index bc5b5cd64f..bbe2eeecb3 100644
--- a/tp/t/results/macro/cpp_directives_in_macro.pl
+++ b/tp/t/results/macro/cpp_directives_in_macro.pl
@@ -95,15 +95,17 @@ $result_trees{'cpp_directives_in_macro'} = {
 '
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => '
+'
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'simplemacro',
-                      'spaces_before_argument' => {
-                        'text' => '
-'
-                      }
+                      'command_name' => 'simplemacro'
                     },
                     'type' => 'macro_call'
                   },
diff --git a/tp/t/results/macro/empty_macro_argument.pl 
b/tp/t/results/macro/empty_macro_argument.pl
index ea219248f7..112037e983 100644
--- a/tp/t/results/macro/empty_macro_argument.pl
+++ b/tp/t/results/macro/empty_macro_argument.pl
@@ -101,14 +101,16 @@ $result_trees{'empty_macro_argument'} = {
                   'element' => {
                     'args' => [
                       {
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mymacro',
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
+                      'command_name' => 'mymacro'
                     },
                     'type' => 'macro_call'
                   },
@@ -127,14 +129,16 @@ $result_trees{'empty_macro_argument'} = {
                   'element' => {
                     'args' => [
                       {
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => '  '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mymacro',
-                      'spaces_before_argument' => {
-                        'text' => '  '
-                      }
+                      'command_name' => 'mymacro'
                     },
                     'type' => 'macro_call'
                   },
@@ -158,14 +162,16 @@ $result_trees{'empty_macro_argument'} = {
                             'text' => 'x'
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => '  '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mymacro',
-                      'spaces_before_argument' => {
-                        'text' => '  '
-                      }
+                      'command_name' => 'mymacro'
                     },
                     'type' => 'macro_call'
                   },
@@ -287,14 +293,16 @@ $result_trees{'empty_macro_argument'} = {
                   'element' => {
                     'args' => [
                       {
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mytwo',
-                      'spaces_before_argument' => {
-                        'text' => ' '
-                      }
+                      'command_name' => 'mytwo'
                     },
                     'type' => 'macro_call'
                   },
@@ -313,14 +321,16 @@ $result_trees{'empty_macro_argument'} = {
                   'element' => {
                     'args' => [
                       {
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => '  '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mytwo',
-                      'spaces_before_argument' => {
-                        'text' => '  '
-                      }
+                      'command_name' => 'mytwo'
                     },
                     'type' => 'macro_call'
                   },
@@ -344,14 +354,16 @@ $result_trees{'empty_macro_argument'} = {
                             'text' => 'x'
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => '  '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
                     'info' => {
-                      'command_name' => 'mytwo',
-                      'spaces_before_argument' => {
-                        'text' => '  '
-                      }
+                      'command_name' => 'mytwo'
                     },
                     'type' => 'macro_call'
                   },
diff --git a/tp/t/results/macro/expand_two_same.pl 
b/tp/t/results/macro/expand_two_same.pl
index c516ae8c07..4a425a3b1c 100644
--- a/tp/t/results/macro/expand_two_same.pl
+++ b/tp/t/results/macro/expand_two_same.pl
@@ -87,6 +87,11 @@ arg}
 '
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
@@ -94,9 +99,6 @@ arg}
                       'command_name' => 'macrotwo',
                       'spaces_after_cmd_before_arg' => {
                         'text' => ' '
-                      },
-                      'spaces_before_argument' => {
-                        'text' => ' '
                       }
                     },
                     'type' => 'macro_call'
@@ -200,6 +202,11 @@ arg}
                             'text' => 'arg with comma , here '
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       }
                     ],
@@ -207,9 +214,6 @@ arg}
                       'command_name' => 'macrotwo',
                       'spaces_after_cmd_before_arg' => {
                         'text' => ' '
-                      },
-                      'spaces_before_argument' => {
-                        'text' => ' '
                       }
                     },
                     'type' => 'macro_call'
diff --git a/tp/t/results/macro/form_feeds.pl b/tp/t/results/macro/form_feeds.pl
index f6c1293bf6..a904444af9 100644
--- a/tp/t/results/macro/form_feeds.pl
+++ b/tp/t/results/macro/form_feeds.pl
@@ -144,6 +144,11 @@ $result_trees{'form_feeds'} = {
                         'text' => 'arg1'
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '  '
+                      }
+                    },
                     'type' => 'brace_arg'
                   },
                   {
@@ -164,9 +169,6 @@ $result_trees{'form_feeds'} = {
                   'command_name' => 'mymacro',
                   'spaces_after_cmd_before_arg' => {
                     'text' => '  '
-                  },
-                  'spaces_before_argument' => {
-                    'text' => '  '
                   }
                 },
                 'type' => 'macro_call'
diff --git a/tp/t/results/macro/ifclear_in_macro.pl 
b/tp/t/results/macro/ifclear_in_macro.pl
index 3595734cfa..b0e04125c2 100644
--- a/tp/t/results/macro/ifclear_in_macro.pl
+++ b/tp/t/results/macro/ifclear_in_macro.pl
@@ -89,15 +89,17 @@ $result_trees{'ifclear_in_macro'} = {
 '
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '
+'
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'note',
-                  'spaces_before_argument' => {
-                    'text' => '
-'
-                  }
+                  'command_name' => 'note'
                 },
                 'type' => 'macro_call'
               },
diff --git a/tp/t/results/macro/ifset_in_macro.pl 
b/tp/t/results/macro/ifset_in_macro.pl
index caf8dec658..4b6bc0e0c6 100644
--- a/tp/t/results/macro/ifset_in_macro.pl
+++ b/tp/t/results/macro/ifset_in_macro.pl
@@ -89,15 +89,17 @@ $result_trees{'ifset_in_macro'} = {
 '
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '
+'
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'note',
-                  'spaces_before_argument' => {
-                    'text' => '
-'
-                  }
+                  'command_name' => 'note'
                 },
                 'type' => 'macro_call'
               },
diff --git a/tp/t/results/macro/ifset_in_macro_set.pl 
b/tp/t/results/macro/ifset_in_macro_set.pl
index c5f9c25277..059df92a5c 100644
--- a/tp/t/results/macro/ifset_in_macro_set.pl
+++ b/tp/t/results/macro/ifset_in_macro_set.pl
@@ -89,15 +89,17 @@ $result_trees{'ifset_in_macro_set'} = {
 '
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '
+'
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'note',
-                  'spaces_before_argument' => {
-                    'text' => '
-'
-                  }
+                  'command_name' => 'note'
                 },
                 'type' => 'macro_call'
               },
diff --git a/tp/t/results/macro/macro_call_empty_two_arg.pl 
b/tp/t/results/macro/macro_call_empty_two_arg.pl
index 1892a2e5ea..199e24c21f 100644
--- a/tp/t/results/macro/macro_call_empty_two_arg.pl
+++ b/tp/t/results/macro/macro_call_empty_two_arg.pl
@@ -127,14 +127,16 @@ $result_trees{'macro_call_empty_two_arg'} = {
               'element' => {
                 'args' => [
                   {
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
                 'info' => {
-                  'command_name' => 'twoa',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'twoa'
                 },
                 'type' => 'macro_call'
               },
@@ -228,6 +230,11 @@ $result_trees{'macro_call_empty_two_arg'} = {
               'element' => {
                 'args' => [
                   {
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   },
                   {
@@ -235,10 +242,7 @@ $result_trees{'macro_call_empty_two_arg'} = {
                   }
                 ],
                 'info' => {
-                  'command_name' => 'twoa',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'twoa'
                 },
                 'type' => 'macro_call'
               },
@@ -279,6 +283,11 @@ $result_trees{'macro_call_empty_two_arg'} = {
               'element' => {
                 'args' => [
                   {
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   },
                   {
@@ -291,10 +300,7 @@ $result_trees{'macro_call_empty_two_arg'} = {
                   }
                 ],
                 'info' => {
-                  'command_name' => 'twoa',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'twoa'
                 },
                 'type' => 'macro_call'
               },
@@ -504,6 +510,11 @@ $result_trees{'macro_call_empty_two_arg'} = {
               'element' => {
                 'args' => [
                   {
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   },
                   {
@@ -521,10 +532,7 @@ $result_trees{'macro_call_empty_two_arg'} = {
                   }
                 ],
                 'info' => {
-                  'command_name' => 'twoa',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'twoa'
                 },
                 'type' => 'macro_call'
               },
@@ -618,6 +626,11 @@ $result_trees{'macro_call_empty_two_arg'} = {
               'element' => {
                 'args' => [
                   {
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   },
                   {
@@ -630,10 +643,7 @@ $result_trees{'macro_call_empty_two_arg'} = {
                   }
                 ],
                 'info' => {
-                  'command_name' => 'twoa',
-                  'spaces_before_argument' => {
-                    'text' => ' '
-                  }
+                  'command_name' => 'twoa'
                 },
                 'type' => 'macro_call'
               },
diff --git a/tp/t/results/macro/protect_in_body.pl 
b/tp/t/results/macro/protect_in_body.pl
index 62cec541bb..2ae01b4ba2 100644
--- a/tp/t/results/macro/protect_in_body.pl
+++ b/tp/t/results/macro/protect_in_body.pl
@@ -89,6 +89,11 @@ $result_trees{'protect_in_body'} = {
                             'text' => '@samp{f\\irst arg}'
                           }
                         ],
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
                         'type' => 'brace_arg'
                       },
                       {
@@ -109,9 +114,6 @@ $result_trees{'protect_in_body'} = {
                       'command_name' => 'macroone',
                       'spaces_after_cmd_before_arg' => {
                         'text' => ' '
-                      },
-                      'spaces_before_argument' => {
-                        'text' => ' '
                       }
                     },
                     'type' => 'macro_call'
diff --git a/tp/t/results/macro/protect_in_body_one_arg.pl 
b/tp/t/results/macro/protect_in_body_one_arg.pl
index 1a25751c6b..4cfacccee5 100644
--- a/tp/t/results/macro/protect_in_body_one_arg.pl
+++ b/tp/t/results/macro/protect_in_body_one_arg.pl
@@ -82,6 +82,11 @@ $result_trees{'protect_in_body_one_arg'} = {
                         'text' => '@samp{f\\irst arg}'
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
@@ -89,9 +94,6 @@ $result_trees{'protect_in_body_one_arg'} = {
                   'command_name' => 'macroone',
                   'spaces_after_cmd_before_arg' => {
                     'text' => ' '
-                  },
-                  'spaces_before_argument' => {
-                    'text' => ' '
                   }
                 },
                 'type' => 'macro_call'
diff --git a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl 
b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
index 2cbd05ded4..e31e56b16c 100644
--- a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
+++ b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
@@ -104,6 +104,11 @@ $result_trees{'comma_value_in_macro_arg'} = {
                         'text' => 'arg1 @value{comma} arg2 '
                       }
                     ],
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
                     'type' => 'brace_arg'
                   }
                 ],
@@ -111,9 +116,6 @@ $result_trees{'comma_value_in_macro_arg'} = {
                   'command_name' => 'macro1',
                   'spaces_after_cmd_before_arg' => {
                     'text' => ' '
-                  },
-                  'spaces_before_argument' => {
-                    'text' => ' '
                   }
                 },
                 'type' => 'macro_call'



reply via email to

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